The solution is to separate creators from maintainers. You don't pay your janitors the same as your architects. The way we get there - standardization.
An interesting thought - it is so much easier to learn to contribute good code to an area you’re unfamiliar with when the codebase is already beautifully designed.
It’s a teaching tool in itself. You can essentially hire a janitor and make them an architect when everything just makes sense already and guides them in the right direction.