UT2004 (particularly Onslaught) had a great system for map variation.
Every round end would start a public mapvote. Maps which had been played beforehand in rotation (15 - 20 previous maps and the current map) were greyed out and unvotable. Each player had one vote and the tallies were live so people would often hop on board if a good map got a few votes. There was a timer and you could change your vote.
This is the most fair map rotation of any game I can remember.