It is pretty well common consensus on Stack Exchange that down-voting without commenting is not ideal, but shouldn't be stopped either.
This link for example, talks about the policy.
I would like to suggest a middle ground - a means of encouraging good commentary on why a down vote is being cast, but not hard-enforcing it either. Whereas others have pointed to badges or prompts, I would suggest a simple incentive approach.
Currently, it costs a user 1 reputation to cast a downvote.
I would like to incentivize people with what they really care about - points.
The proposal is this:
Casting a downvote would cost 2 points, or only 1 point, if you leave a comment as to why.
Nothing changes for the would-be anonymous downvoter, except they get a little more expensive. The constructive comment leaver, however, is penalized less.