I like to have players start out in our protected spawn then go to a pressure plate or near the command block it does not matter. Then when they go to it does a spread of the player say between 500-3500 out and also sets that location as their spawnpoint.
I don't want the player to use spawn again especially to kill themselves to be able to randomly teleport a 2nd, 3rd, etc time.
Thanks. My mate is going to give it a go today. He said he might use your first example. We have 4 locations we are doing and he said that is a lot of command blocks lol.
To give you an idea what were doing (mixing this with modded Minecraft).
Player at spawn go to the startgate and uses Open Computers to pick one of 4 destinations. Sort like pick one of 4 outposts. Then the user travel's to the outpost but instead they actually travel 30 blocks away to a special say North East gate and it's dark and the command blocks instantly spread them to a new locations. Once this happens there will be some sort of message in chat will try to add where it will say something like there seems to be a gate malfunction and we seem to been randomly placed in the North East quadrant of the planet. From there it also becomes their spawn so when they die they always start in the same spot to abuse people who die 100 times just to get closer to their friends.