Team balance is topic of an ever going discussion. We've had countless threads on here about the issue and we tried so many things. In the end the conclusion has always been that the only way to keep teams balanced is to make people aware of team-balance and ask them to be considerate before joining a team. And sometimes maybe even swap mid-game in case people from the other team leave. It is something we expect from our members, and very much appreciate to see from friends, regulars and guests.
Members can shuffle in warm-up but this is far from a guarantee for team-balance. In fact it often makes it worse as well. I have needed two or even three shuffles to get it a bit decent again. Force-shuffling every round will ruin the game once it would finally be balanced. Also, winning or loosing a round is often confused with unbalance. If teams were to be exactly 50-50, in theory the defending team would always win.
My advice? Try swapping teams if your team is crushing the other; winning a round from a team that seems much stronger is the best fun you can have. Very often it takes one good medic with one good engi to take the round. Even if the rest of your team is crap. And accept that team-balance in games will always remain very peculiar.