The fundamental problem on any site like this is that it's so easy to upvote lightweight stuff. When a link sounds like it's going to take a while to read, people say "maybe I'll read it later," and never do. And since they haven't read it, they don't upvote it. Whereas e.g. a cartoon people know will only take a few seconds, so they click on it. And if they like it, they upvote it. Sounds harmless enough, right? And yet repeat and the result is a disaster.
What is the solution? The Right Thing would be to somehow scale votes by how easy/hard it is to vote on something. Or I could add a downarrow on stories for users over a certain karma threshold.