Machi Koro is broken in that once you figure out the strategy to win (farms + cheese factories or forest + mines + furniture factory), the game is pretty much over since you'll make enough money to win in a few turns, while anyone else who didn't go that route will be struggling to make ay money at all. This is due to all properties being available to purchase from the start.
The Harbor expansion fixes this by introducing this rule: Shuffle all properties and then place them onto the table one at a time. If the same property comes up, stack it on top of the existing property. Do this until you have 10 unique properties on the board. Whenever the number of properties goes below 10, just draw until there are 10 again. This rule can be used with the vanilla game (no expansions necessary) and removes the broken-ness of people playing one strategy and automatically winning. Instead, people have to react to what is available at any given time.
Also, some people have created a variant:
Make different stacks of cards (a stack of 1-6 properties, another of 7-12, and then the purple cards) and shuffle them, then draw 5 cards from the first two stacks, and two from the purple stack (12 available to purchase at any time), then replenish from the appropriate stacks when necessary.
The problem still exists of you rolling the dice and having nothing happen, but turns go by quickly enough that it doesn't bother me too much. Machi Koro is a lot of fun with non-boardgamers since it's easy to learn, but some people don't like it because it's too simple. I still like it, though I haven't played it in a couple of months.
edit- after browsing the BGG forums, some people suggest the 4/4/2 model instead of 5/5/2, in order to stick with the 10 property limit:
https://boardgamegeek.com/thread/1315037/3-draw-pile-variantpacing-improved/page/1