I feel that legitimate downvoting is disincentivised by the rep penalty. What are the reasons this penalty exists?
Downvoting is disincentivised (it's not just you), and that's deliberate. The help page on downvotes says this: “Voting down answers is not something we want you to take lightly, so it is not free.”
Stack Exchange's engineers want us to think carefully before we downvote something, want us to make sure it's worthwhile. A tiny -1 ping to our reputation is just enough to make that happen. I could go downvote every single post for fickle reasons, but that tiny little penalty gently gamifies me into only downvoting when it's serious and necessary.
Downvotes on questions are free however. That's the case because we badly need people to downvote bad questions so that the site only has good material to respond to, and don't want them thinking twice about whether it's worth it. The downvote help page links to Optimizing For Pearls, Not Sand to explain this philosophy.
Upvotes don't come with penalties nor benefits (such as a corresponding +1 rep for the voter). We want people to vote early and vote often, so there's no cost. There cannot be a +rep benefit for upvoting though. Reputation is strictly only awarded for those activities which concretely benefit the site: posting good questions and answers, making good edits (as a low-rep user), and accepting an answer that's helped you. People want to do things that give them reputation, reputation rewards need to be implemented with the careful question: “what would happen if people did this as much as possible without stopping?” If we were all just contributing awesome questions and answers, good helpful edits, and accepting the answers that solved our problems, we've got a lot of constructive users. But if people were voting constantly on everything, we compromise the upvote as a signal of “this is good” because it could also mean “this is crap but I wanted +rep for voting on it” and our scoring system would collapse.