you could also create "combat zones", wich is an invisible circle or cube or whatever, wich becomes hotter and hotter, if a battle is going on in it. if nobody is in there, the zone cools down. if some shoots or moves around, it heats up. every zone has one spawnpoint (or several? mhh...your choise, but first read on.)
if you part your field in several zones, you could spawn the player always next or far away from a battle, depending on whos winning or wich team has the better chances to win (all over health etc), and depending if you want the game to become faster or slower (spawning them kilometres away from the others or almost side-to-side)...
you could make a struct for each zone, wich constains
-shots fired in a time,
-count of ships in it,
-a value wich desribes the "heat",
-overall health of ships,
-ammunition of all ships in it,
-if its empty (cooling down),
-maybe the zones next to it, so you know, if its possible if an battle can come to this zone in the next time,
-and maybe a "zone" ranking ( i think you wrote that you wanted to do a ranking system...), wich shows how good the players in it are by ranks. would be good for keeping unexpierienced players out of "dangerous" wars with veterans.
this has positive effects, you can spawn players in warless areas(or not
), you could create a "homezone" or "healingzones" where enemys are damaged by base-turrets or whatever, and people can respawn or heal without being bothered by enemys, if they dont want to respawn on the biggest war-field...
i think the negative side is to get the right size for the parts, and it would be a "bit" more work i think.
i'm very interested what you think, i spent all night thinking this over