What stops spec cheating now is you cannot spec and then play. This would allow you to do that.
Adding in new commanders would unbalance the game, more dramatically the earlier it happens. Adding new players would upset the elo balance.
It's probably fine (thought anti-competative and might break chickens) for coop but requires a lot of work on implimentation for a rarely used coop only feature (Pretty sure player count is set at the start of the game still).
There is an option to have teamspecs who can hop it to take over players, we used to have that. Spectators would have to pick a team to view at the start of the game though (no midgame join) and it would still ruin elo balance. Support for teamspecs was dropped because nobody used it.