Why not accumulate data based on an individuals skill rating via the registration forum, I.E Faceit ranking, esea ranking (If applicable) link to the profile, and MM ranking. Depending on the result you can assemble teams on a more selective nature while also setting restrictions, for example there can't be more than 3 faceit level 7+ on a single team (More restrictions would need to be made for different rankings outside of faceit, but I would assume most of the sweats in the community are using faceit over esea.) The 2 remaining slots on the team could be picked by the team in question as long so the remaining two players are not above a certain ranking. This ensures teams are diverse, while also not leading to the serious downsides that picking entirely random teams may lead to, such as poor communication, and desire to win. This was something I thought up in about 5 minutes, and more elaborate rules and restrictions would certainly need to be established in order to ensure fair, and competitive play, however picking random teams is a terrible idea and ruins the entire competitive integrity of a tournament designed to promote friendly competition.