I've dealt with trying to do it by hand (pure torture), so I asked on the scripters forum. The best reply I got was to make a Bot to do it, but I have no idea where to start in doing so. Does anybody have an idea of what I could possibly do to accomplish this?
Notes: In studio, I have a Folder Instance containing all the 500+ models.

10 comments
Why do they have to be separate models?
@BlueTaslem They are going to be loaded into my game with LoadAsset only when needed, and each one is needed individually. I'm doing to to solve the major lag issues in my game.
Couldn't you just keep them in ServerStorage?
I used to keep them there, but the models contained so many unions that the Server got backlogged and made the primary server-side functions of the game not function for 10's of minutes.
well loading them in individually can also cause general lagg spikes upon begin spawned it
That makes no sense. The server doesn't render unions - They're stored on the Roblox CDN. The server only sees abstract data, such as the fact that it is a union and where it comes from. There's no way that unions in ServerStorage caused your lag.
@eLunate If it isn't the 500+ models stored serverside that is causing the lag, then I honestly don't know what is. (Besides the map, possibly).
Have you checked your script performances?
The server has to pull in the models when it starts. It doesn't have to render them, but it has to spend time setting up their meshes. That could explain slow-starting-time, but it shouldn't take minutes
The server doesn't have to pull in their meshes until it has to manage them for physics in Workspace, surely. There's no point in having the meshes all fired up and ready if they're not being used until the physics solver needs them.