The problem I see with this is that we have to perform actions before and after the player respawns (Set/Reset spawns). That can't be done with OnPlayerRespawn only (as far as I know, if you modify spawns in that procedure, it won't affect the player as he already respawned).
We also do not know, when the next respawn will happen, so we can't count on AppOnIdle for modifying spawns.
The common way is to use /setteam to respawn the player. As it should be done on every spawn though, this would cause a lot of spam on your server and probably made players feel uncomfortable (they spawn in base and directly respawn at the saved location).
I heard the scriptcore was going to have BeforePlayerRespawn and AfterPlayerRespawn? I can't remember for which server version and whether it's implemented already.