I didn't end up using a random spawner because it would be too random. Every wheatfield for instance might need a fence around it, so it would be bunch of actors together.
I had thought of doing a "russian doll" trick, where large static meshes obscure smaller ones and then get stripped away, but that was far too limiting. So this is a variant of that.
A custom static actor tags itself with a setname. Any number of these actors can share the same setname making them part of the same set. All the sets get put into the same basic area, and then a SetMaster actor makes a decision about what set in his vicinity is going to be shown. Then each of the set pieces ask the master if they can stick around, and if not - they get deleted. So only 1 set out of X remains.
It's completely portable, all I have to do is make one block with all the sets that are possible in the map, add a setmaster and fill it with the possible setnames, and then I can copy and paste it around the map.
Obviously there are some limitations to what kind of sets can be made, and some things like the SkyHawk and PlayerStarts have to be static. I'm hoping though, to a) tie this to the campaign ... so if the aliens have more control over the region, it might be more of a alien landscape and b) that SetMasters might be able to talk to each other to coordinate their sets.