It is very painful when one gets downvote for no reason. Downvote is an effective tool to curb bad things here but this has also become a tool of enforcing thoughts over others. Developers should think about it. Otherwise, this platform won't survive for long.
In addition to your fine suggestions, I was thinking that a downvote should have the same effect on everybody in hurting a reputation score, but also making it hurt a little for the one making a downvote. Like charging a downvoter three STEEM or something to make a downvote. I dunno...something like that.
Yes this can be effective.