I 100% support your first suggestion: No-reward from self-votes.
Just a few hours ago, I suggested this in a comment I left under a post in which witness @timcliff was interviewed.
I do think it's fine to upvote your own post. Creating a post requires a lot more work than writing a 3-word comment.
Like you pointed out, the problem isn't just that the reward pool is drained by this selfish abusive behavior. It also leads to a lot of meaningless comments. Not to long ago, I received a 1-word comment on one of my posts: good!.
I'm like: I appreciate every comment, I really do. But c'mon man...1 word? I don't recall if it was self-upvoted – and I'm too lazy to go back and check 😀 – but that's the typical meaningless comment self-upvoters post. It's just so lame.
When I comment, I really do my best to be genuine. I also put effort into many of those, showing the author that I read the post. Add a gif in there, for fun.
And then it's just a bit frustrating to see so many of these short self-upvoted comments under so many posts. Makes it difficult to quickly spot real comments.
If it was up to me, I'd ban self-upvoting comments today rather than tomorrow!
Still, I'm not sure if that would completely solve the issue. What if a user creates a few accounts, and upvotes comments from account 1 with account 2 and vice versa?
Banning self-upvoting on comments would be a good start though. There is no perfect world, but what we can do is make it better one step at a time, and adapt along the way.
Resteemed.
You can also flag comments from esteem