NOTE: this is a much simplifed version of an earlier suggestion.
Specifics:
Allow people to start a team with a designated group of friends. The team would be marked so anyone joining would know in advance they were playing a "set" team.
If you invite people to a team game, that team would get an asterisc * or some other designation to indicate that this is a set group of friends and not just a "random" team.
This will improve the following aspects of the site:
Just keeps things up front.
I don't think anyone really has an issue with people who want to play together. The problem is when you join a game and don't know that you are facing a "set" team. This would fix that issue.
People could certainly "cheat" and pretend they are just randomly joining. However, anyone doing that more than occasionally will soon be obvious.