I dont see why people wouldnt expect this, steem is an asset and so therefore you should be able to sell that asset. I think fundamentally it's problem of perspective. Are the rewards generated by your steem power your own? Well on the one hand I think it should be, as all this is essentially POS mining represented in a different way.
Under this point of view no one can be said to be stealing any rewards, becasue those rewards would have to come somewhere. Either they were bought or they were earned with someones own steem power. Except that perspective isn't exactly helpful when it comes to Steemit as it changes the whole way you see Steemit and that the reward pool functions more as a form of currency for advertising rather than someting that's indicating content people find valuable. Clearly how Steemit determines value is going to need to come from more than just how powerful an up vote is.
The reason people seem so pissed is because of a totally opposite frame of mind, where the rewards from your steem power not your own they are part of the reward pool. Therefore people end up obviously getting upset when they see posts getting huge payouts that don't appear to objectively match quality or match their own taste. That's because they see it as "stealing" everyone elses rewards, and so effectively stealing THEIR rewards.
Unless someone can explain it to me, I think that this is the key issue and unless some magic developer can find a blockchain solution the ONLY solution will then be to get a different frame of mind which might mean having to gain a radically different point of view of what Steemit is and will be.
I'll say it again, this isn't a problem if the rewards that are generated by someones Steem Power is their own which they can allocate as they wish. I understand this would really change the whole meaning of the upvote if this was made offical, as the upvote would then be seen as a form of currency in itself and as you can see is already being used as such. However that may well be the end point to all this.
All these people trying to mass flag are just making things worse because they aren't actually solving anything. The bucket still has the leak and people will only get better at exploiting what the system has enabled them to do making it futile, all the while at the the same time highlighting what I consider may well be a far worse problem which is how easy it is to censor or shut down other people on steemit. Where a single person can overrule hundreds of others.
Steemit will need to find a blockchain based solution for this or it will definitely fail.
An example of ways to deal with the voting + rewards system could be to make it so you're not able upvote yourself anymore. This would send a message as to the nature of how you're supposed to see the voting rewards as well as serve the practical purpose. You could also have it so that someone cant stick steem in a different account and upvote themselves, where it could be that after a while your vote becomes worth less the more you're only voting one person and so you;d have to spread your vote around making it far less profitable and more annoying to set up. These seem like good ideas to me if the objective is to treat the reward pool as I said earlier, not as something that belongs to you no matter what your steem power. There would still be problems but it would at least make it harder to do and make it clear what the purpose of them was. The problems related to flagging on the other hand, that to me is a lot harder to solve.
All of your suggestions are worthy; but, to sum it up to best enjoy your time on the platform is this:
Best regards!
Peace.