Map voting. The topic no one can agree on, so let's try yet another idea. The current style is hated because people tend to pick the same maps over and over. The roulette system was hated because you would often end up with maps that barely anyone voted for and it doesn't feel good seeing a map get 5% or less and end up winning. A set map rotation would be boring, and people would learn the rotation and leave when they knew less popular maps/maps they don't like were next in rotation.
So why not take a page out of Halo 3's book? How about a random map rotation with one chance to veto to another random map. After the game mode is selected, a random map would show up as the "upcoming map". Players would then have the option to veto/skip/reroll the map, and if a certain percentage is reached (half or more of the current lobby?) another random map would be picked and would be the map that gets played. To add to this further, I think it would be best if a recently played map was excluded from the random rotation for 1 or 2 rounds. That way you don't risk a veto that goes right back to a map you just played.
I think a system like this would incorporate the best of both worlds. A random rotation that keeps things fresh and gives all maps a chance to be played, while also giving the players some control with an option to skip a specific map if the majority doesn't want it. You still run the risk of getting another map you may not like after vetoing, but let's face it, there's no perfect solution for this and we can't make everyone happy.