Penalize bot usage somehow. A big part of the problem is the fact that many large votes are handed out via automated voting by bots rather than users actually curating and voting on worthwhile content.
Bots are run by humans. Even if it were technically possible to distinguish bot actions (it's not), they are acting out the wishes of a human operator. This would be unfair.
Visibility of posts is one of the main issues currently. Right now you get visibility by either having thousands of followers, or by getting to the trending page. So pretty much the same group of people get most visibility (and hence most rewards). Both these ways of getting visibility are positive feedback loops - the more SP you have, the more easily you get to the trending page and the more SP this makes you. And the more following you have, the easier you get to the trending page and others resteeming your posts, so the more followers you make.
You can see how this leads to power/influence/rewards being concentrated into the hands of a limited group of people. The more you have, the easier it is to get more.
It's a problem with all cryptocurrencies (that I know of). There is lots of talk in the crypto world about the blockchain revolution being "the greatest redistribution of wealth". As I understand things, wealth will consolidate into a new limited group of people very quickly. So, the way to solve that problem is not by redistributing wealth, it's by designing a system that removes the problem.
So here are some potential solutions (or directions to look into):
I would not suggest Steemit, Inc. disposing of its massive SP stake yet. The platform is still too vulnerable to abuse, and someone could even overtake it. The platform has to show that it can solve its problems on its own before it's left solving its problems on its own.