It'd be hard to override the vanilla function for that. Whenever you do that, it basically runs the command /teleport <you> <player>. (a command that players can't execute.)
If Mojang changes the spectator teleport to an actual function instead of sending a command, it might work.