Sorry this might be a little wordy as there seems to be multiple options that could be incorporated. The purpose is firstly and most obviously to give people different ways to join a game. There are however to other fundamental points I would hope these options addressed.
1. It sucks to join an empty server or one with only 1 or 2 other players on. Implementing a way of grouping players then putting them onto a server so they can play immediately can keep people playing
2. It allows people to meet an expectation on what sort of game they will get. Random pub or more organised pug etc
3. Using the launcher means you can continue to browse, irc, virtually knit that pullover while you wait rather than sit locked in game staring at a “Creating Game” screen
TL DR give players ways to join matches that are more specific to the type of team structures they want to play in.
[HR][/HR]
Lets first define some team structures. If you disagree or think there is something important missing by all means add your own but please take these as broad terms.
PUB (Public): Random players vs random players
PUG (Pick Up Game): Group of random players who share an interest in playing a more structured team match. Two captains ultimately pick from a pool of players to build two teams.
Scrim (Scrimmage): Two preselected groups of players having a match against each other
Comp (Competitive): Similar to Scrim but with the ultimate goal that the result is counted in some competitive table
[HR][/HR]
Option 1: Join Specific Server (PUB)
Simple. Select the server you want from the browser and join. Server obviously needs to have space.
Option 2: Queue for Server (PUB)Select the server you want from the browser and you will be placed in a queue to join it when a space allows.
Option 3: Queue for Filtered Server (PUB)Select from a range of filters (server location, ping, gametype, players etc) and when the launcher finds a match AND (this is the important part) has enough players queued to start a game it joins all players. Matchmaking on the players would probably be a plus but could be a filtered option as would the number of players to wait for before joining. Servers where people are playing in warmup but are below the min to start a game would be considered here too.
Option 4: Queue for PUG (PUG)Again, select from a range of filters for a server and the launcher than matches up enough players to make a PUG game. It facilitates voting on two captains, picking teams and then joins all players on the correct sides. There should be an option here as to whether players who are looking for PUG games can join matches in progress (to fill in dropped players). Joining these matches from the browser is not possible to prevent games turning into PUB matches.
Option 5/6: Queue for Scrim/Comp (Scrim, Comp)Players can group together as a clan or temporary team and then select their server filters. Launcher then looks for a similarly matched (range defined by filters?) groups to play together. These matches are closed (perhaps invite only once started?).
Option 7: Quickmatch (PUB)Click and it’ll find a server with players on for your to play. Yes I should have put this up at Option 1. 
Option 8: I Wanna Play!This just came to me so might be a little dumb. Maybe a way of just putting in your status that you’re up for a game. Maybe it opens you to random invites or something.
While I’m here and mentioned invites I guess a robust system of inviting people right into your game/team is also going to be nice.

