Instead of automatically assigning maps based on Battle rating, I think you guys should have a lobby system. Everyone with or around the same battle rating after they queued for a match should then be placed in a pre game lobby after they have queued for a match… WIthin that lobby, players will then have the ability to vote on what campaign and map they would like to play. Every player will have 3 votes for which maps they would like to play and 1 skip vote for a map they would not like to play. Whatever map has the most player votes and the least amount of skip votes, that map will be selected. This will accomplish two things, one players will get to actually chose which maps to play and two it will fix players joining games late.
Also, if that is impossible for the devs to make, you could also come up with a simple system like Modern Warfare (2009) used to have. Within the pre game lobby, a random map will be selected and everyone will have a skip vote, if the majority picks skip that map will be skipped and another random map will be chosen. Player can also skip the second random map. THe third map being final and no one can skip even if they do not like that map. If anyone could think of something to add to this please reply your thoughts!