I mostly prohibit multiclassing in 5e; I have a couple of players who are avid optimizers, and I find that eliminating multiclassing gets rid of a good swathe of the stuff that annoys me. I don't mind optimization, but I like to make sure that the optimizers and the non-optimizers are both able to meaningfully contribute. I also typically make some campaign-specific tweaks; when I ran a 5e Birthright game, I used the lingering injury rules and created a seventh ability score to model bloodline strength, while when I ran Eberron in 5e I just restricted a few spells, mostly long distance teleportation effects, which I wanted to have as the exclusive provenance of House Orien.
I never bothered much with house ruling in 3e/3.5 or 4e - 4e because it mostly worked, though in my last campaign I did give everyone a free Expertise feat, and 3e/3.5 because that was also the heyday of my optimization habit, so I enjoyed the arms race effect as I pitted my builds against those of my players.