Solution: Get better.
No, seriously. One of the best ways of getting better is by playing people that are better than you. Teams are never going to be completely even, a team is always going to be slightly better. Yet, that's not always the winning factor, the winning factor is when a team works together. A pub team full of shitty's understanding how to play will beat 3-4 players that are great... it's going to be a slaughter for the first few guys, but if you push through then you're set.
Good players like playing with good players as well. It's just something you're really not going to stop. Once you find a group of players that you can gel with, that understand your playing strategy, it's something you want to keep doing. Especially if you're a strong group of friends. I play to have fun as my primary goal, winning as my secondary, unless it's a scrim. I'd rather be playing with my friends then some annoying idiots, so preventing that is only going to anger me.
With that being said, I feel as if a lot of the older regulars and better players regularly hit autobalance more than actually choosing teams. Stacking isn't a major problem as it is right now, and I don't feel like it can ever be change to truly make even teams. The only possible solutions is to make an algorithm to properly balance teams, but at that point, you're interfering with the game mechanics so much, you're "noob-ing" / ruining the game.
Yes, teams should be decently fair, but there needs to be a limit of how far we go. You really do get better by playing better players and facing harder odds. I don't feel like it's a problem worth solving, or even needs solving... Players needs to get better by playing more, and with the amount of non-steam players that we have on the servers, it's not worth catering to their needs since they're newer players than those that have played for years.
TLDR. Get better, stacking isn't that bad of a problem on the servers. You only get better when you play against people better than you, etc.