Barring a distance-based spawning algorithm like the one I've suggested, and assuming that we're trying to fix a "Captain's Choice" spawning algorithm...
For one thing, there has to be some system in effect to prevent spawning within a given proximity of an enemy. Killing an enemy ship should net you a distinct advantage, not a 15-20 second window before a full health brawling Pyramidion spawns behind you. It's well worth having a zone of "can't spawn here" to force this: after all, you usually know where your enemies are when you die, and 15-20 seconds isn't enough time for them to radically change position on the map.
I'd also recommend that spawn locations be increased in number, and the available spawns be psudeo-randomized each time. A game I was in recently involved us killing enemy ships, remembering the "good" spawns near us, and simply waiting for them. By psudeo-randomizing the available spawns near a fight you help prevent the situation where ships always pick the most effective spawn and then take the exact same path into the fight, which helps decrease the repetitive nature of fights that I've experienced in the current build. Alternatively, lock out spawns, preventing you from simply spawning at the same point repeatedly.