Give "downvote power" exclusively to the witnesses.
That way, we can at least "vote" for the witnesses we agree with (I guess you can't "downvote" witnesses currently, doesn't that sort of break your "must-have-downvotes" moral axiom?)
As for the "rampant plagiarism" "problem", cheetahbot already provides links to the "original content", which sort of automatically "fixes" the "problem". Anybody who forgets to post attribution links will be thankful for cheetahbot's helpful link posts. No downvoting required.
And to fix the zombie-sock-puppet "problem", just ask @steemit to stop automatically delegating 15 steem-power to every newb. This would essentially make steemit "invite only" because you'd either have to buy some steem yourself or be sponsored by an existing account. Don't forget gm.ail and fa.cebuk (and others) were "invite only" when they were getting started, it builds "community" and gives an air of "exclusivity" and "prestige".
And to fix the self-voters, disable self-voting (most websites already disable self-voting automatically).
And to fix the circle-jerks, disable voting on the same account more than once every seven days.
You could set the parameters to only allow a maximum of 25% of your running seven day votes (by total amount of steem) to be granted to the same account.
if people game the system and it yields bad results, you have a poorly designed system.
https://steemit.com/ethics/@randr10/q5zczj