Switching teams mid game would be dreadful. Is this really a thing? I don't play many multiplayer games.
Back in the day, when MP servers were primarily run by ISPs and communities, forced team swapping wasn't really necessary. At least in the TF and Tribes communities I played in, one-sided stompings in pub matches was both boring and considered poor form, so people would swap mid-match to even things up. Generally, everyone had more fun through good sportsmanship, and the seriousness was mostly left to clan matches.
Now everything is anonymous randos shoved together via faceless matchmaking on corporate run servers. Everyone's stats are tracked, so playing for fun is somewhat discouraged by things like KDR, accuracy %, etc. depending on how competitive you are by nature and how much you care about such things (of which I'm somewhat guilty).
Scripted swapping during matches would be annoying but I think they should give players the option to manually do so, with some caveats: i.e. only to a team with lesser numbers, maybe calculate a 'skill' score for a team as a whole based on certain stats, which I'm sure they do already to some degree for individuals, and disallow moves away from the team with lesser 'skill' (though that wouldn't discourage players from quitting).
I don't know, maybe I'm just looking back with too much nostalgia to a time when something like Quakeworld TF could have a thriving community that lasted for years in a small city like the one I live in, despite only having a few maps, no progression grind or customisation beyond what skins or sound mods you had installed via .pak files.
BF4's server browser on consoles was a step in the right direction but the matchmaking in Battlefront completely reversed it. I don't know why they couldn't keep the Quick Match option and leave the browser for those after something more specific.