Can you change at which level of the Spawn Area people spawn?
Solution 1:
Due to the way Minecraft handles player spawning, they will always (naturally) spawn on the highest block that isn´t water, like the normal y=64 of typical worlds. You could get everyone on the server, then run /spawnpoint @a
for everyone, but it wont affect new players who come on later. I´d put a barrier platform at y=255 and a command block chain saying /spawnpoint @a[radius=5] ~ (y level) ~
and then /tp @a[radius=5] ~ (y level) ~ .
this will teleport all new players to the spawnpoint you select.