I think @smooth once mentioned a solution where a downvote would only penalize the rewards of the last accounts that voted on said post along with author rewards.
On its face, that sounds like an improvement.
However, there are always potential unintended consequences that need to be thought through.
The downside with that idea is that I could program a bot to maliciously downvote one particular curator (someone I just don't happen to like). Every time he/she upvotes, I immediately downvote exactly that amount -- giving me unilateral power to nullify 100% of their curation rewards (if my stake is large enough).
A major takeaway (for me) from @dwinblood's recent posts and comments on this topic is that he used to be a really vocal critic of downvotes, then Dan (or Ned?) would demonstrate via game theory or simple logic how the 'fix' could also be gamed. So he (@dwinblood) became somewhat resigned to the fact that the ideals of decentralization maybe just can't be realized and it is what it is.
In that vein, I am realistic enough to admit that we will never arrive at a perfect solution. There will always be tradeoffs. There will always be the potential for abuse.
That's one of the reasons why I believe the ultimate answer may lie with Layer 2, where multiple Layer 2 tribes compete for the time and attention of Hivians, reward them with their own tokens, and have their own rules for punishing bad behavior. Also, with tribes having the freedom to create their own rules, lots of mini-experiments can happen -- one of those tribes might come up with a creative solution that will work better on Layer 1 than the current protocols. That's what I'm shooting for, at least.
We can hope. We can also experiment. If it doesn't work we learn from it, revert, change, do what we need to do.