EDIT: the post below was ONLY in regards to matches found via the server browser, where an assortment of players of different skill levels join a server of their own choice. And in that situation, at the moment, team sorting seems to be purely random. Leading often to clear unbalances.
I’m in no way trying to discuss the Matchmaking system.
It’s not unusual to come across matches with obvious team unbalances. A simple team sorting algorithm could help out a little.
Maybe that’s what Matchmaking is but a simpler algorithm would be very welcome in the ‘server browser’ matches.
A quick and approximate (nothing too complex to compute, perhaps based on KD ratio) even distribution of existing players already in the lobby could (in theory) prevent those crappy matches where, either, attackers are held in their spawn or complete the match in less than 5 minutes.
And although the server randomizes teams on each new match many players leave the lobby after an unbalanced match (sometimes during).
Recently I even came across a guy who did the opposite of ragequit, he stayed (afk) just so he could get the crate drop.

As a side note; from the Devil’s advocate point of view perhaps having unbalanced matches help sells XP boosting packages.