I might not be the person to refer to here, but - how does the TMM team-forming and map-choosing work? What I'm thinking is, you could maybe implement a sort of 'blacklist' for players to mark maps they dislike. Then, based on the blacklists of people at the top of the queue a map is chosen.
How it would work could be as follows (again, assume 4v4, but maybe the same could be used for 2v2 as well):
Scenario 1 - majority blacklist:
The 8 players at the top of the queue are checked. For each map in the maplist, you evaluate how many people in the chosen 8 have it in the blacklist. If majority (so 5 at least), that map is not considered for a random-choice of a map. Say 5 players have Setons blacklisted and 6 Gap of Plateau - those 2 maps are not in the roster to be picked - the rest of the procedure is as it is currently.
This functionality is "always active".
Scenario 2 - minority blacklist:
The 8 players at the top of the queue are checked. As in Scenario 1, majority-blacklisted maps are not considered in the roster. Out of the maps considered in the roster one is picked at random. If the map chosen is blacklisted by a particular player(s) in minority, a new player from the queue is chosen in order, and checked to see if the chosen map is not blacklisted - in which case, the 'ejected' players are added to the top of the queue (pushback), and the newly picked players are added to the current player roster of 8.
This is active only if there are enough people to form another team (so queue_size >= game_size * 2).
Backfall scenarios:
- Scenario 2 - small queues:
Given the size of the community, it is more than likely queues won't be big enough to allow for player shifting - one of the reason being, you don't want to push people back in the queue, if they've been waiting for a while, without being sure they will get a 'replacement' game fast.
- Scenario 2 - no substitute:
If an appropriate 'substitute' is not found in the remainder of the queue.
- Scenario 2 - long wait / multiple pushbacks:
If players have been waiting in a queue for a long time, or an unlucky random map selection would cause a player to experience multiple pushbacks, you could get negative experience due to extended queue times. In such cases, threshold limits could be defined (say, 8 minutes and 2 pushbacks max).
If any of these, and presumably any other marginal situations I couldn't think of from the top of my head, were to transpire, the minority blacklists will be ignored - for example, if there is no way to replace a player(s), or a player(s) has been waiting for a long time, then the map chosen by the TMM system will be used regardless of any minority blacklists.
The result:
What this kinda system would achieve is, it would allow for players that blacklist certain maps to see those less often. Even more-so if, at particular rating, there is a general dislike of a particular map. But in case where it is not possible to achieve this, which can be presumed to happen often given the size of the community, it won't prevent players from joining games - albeit at cost of playing on maps they might not prefer.
Additionally, to maybe avoid players accidently locking themselves out of games, a limit to amount of maps blacklisted could be implemented, say 1 + 10% of the amount of maps in the maplist. You could also, for simplicity-sake (not sure how complex player-pairing to balance rating is), just use the 'scenario 1' functionality.