I love this fast simple game but I know people can feel shafted by their starting cities at times. Here is a solution. Drafting.
Get a set of plain matching envelopes and place one set of coloured city cards in each one and mix them up on the table. Each player takes one envelope and chooses a city, returning the rest of the cards to the envelope and placing it back in the middle of the table. After all the envelopes are back, players choose another envelope. (If someone gets an envelope they already chose from the envelopes are returned and redrawn). When all players have a city of each colour, play as normal.
If you want to handicap the game because one player keeps winning, they could miss out on the first round of choices.
Interesting. Similar to a five player drafting variant proposed by the publisher.
Here is a non-random 5 player setup:
Each player gets a set of cards (Example: Pete gets the Red cards)
Each player chooses a card from their deck and passes the deck to the player on their left. (Example: Pete takes a red card and passes the remaining red cards to Dave (on his left) and gets the green cards from Vince (on his right)
This continues until each player has their 5 different color cards. Have fun.
Both ways seem worthwhile. The envelopes seem a little superfluous to me, except that I guess it's supposed to be random which envelope you get to pick from - that is probably a good idea.
Thinking out loud, you could use the draft mechanism to balance the game just a little by letting the player in last place have first choice of which color to draft from. I guess that could get fiddly, though, which isn't what this game wants.