Sort:  

We all have comment and reply feeds already. Algorithms can easily pick out spamming ones. Then you run an algorithm for variation in upvotes. If an account upvotes say more that 15 accounts in a day, they get an average score. They vote on 25 or more they score increases. I have no idea what the ideal ratio would be and there would need to be a way to discern manual upvotes from botted ones. If they are only voting for one account or just a few they get a much lower score or even a negative score. This way people can still upvote themselves but in a moderate way and they are also encouraged to vote for other people. Even a moderate increase in curation from bigger accounts would make a marked difference to engagement and block chain health.