Phrasing it this way makes it appear that people are thinking "which candidate will make the problem worse? I'll vote for that one." I think you'd agree that the vast majority of people are not doing this. They're voting for candidates who appeal to them and what they feel is in their best interest.
There's at least one confounding factor that may make it more difficult for one to understand the voting behavior of another: candidates represent a prioritized set of values, and that set may not perfectly (actually, very likely doesn't) match the prioritized set of values of the voter. (There are single-issue voters out there, and it would interesting to know what percentage of people are and for which issues.) For example, while a voter may appear to be voting against their economic best interest, perhaps social issues are more important to them, and they'll choose a candidate that appeals to those social issues.
And, of course, there's the biases that are a part of human psychology. We're not perfectly rational homo economicus. People can be influenced to make decisions that are against their best interests (for whatever value of best interest you'd like to propose). From that point of view, we can try to get people to vote better through education and influence. And again, what that means is up for debate: you could say voting better means for their best interests economically, but even that leaves open the question of what that means: short-term outcomes? Long-term outcomes? Economically better for their children? Grandchildren? Their community? The country? The world?
I grant you, it's not an easy problem to fix. Encouraging people to think critically as well as putting in place measures of political performance and more transparency into lobbying and contributions are a few I personally think would make a difference.
However, this doesn't make my initial statement wrong: I said these people are voting against their best interests economically, and it's true. And it's my contention that these people are actually stupid because they do this, by prioritizing a couple of hot-button issues over things that really would affect them personally in a much more profound way than whether other people have abortions (RvW has been around for over 40 years now) or whether they can own machine guns (gun laws in this country are already very lax and no national candidate has proposed doing much to change that for some time now).
I have no idea how you get people to think critically when they've never done it before. The only way I've seen that actually works here is for someone to get a decent education. That just isn't going to happen for some middle-aged conservative living in West Virginia mining coal. Worse, it's not just uneducated blue-collar workers voting this way, there's plenty of seemingly-intelligent people who have bought into very far right-wing politics, for very different reasons than what I mentioned above. Much of it seems to be outright racism AFAICT, like the alt-right websites I've seen lately that rail against interracial dating, pushing racial purity, something straight out of Hitler's Germany.
The problem there is that we are still equating societal worth with the ability to draw a paycheck.
2) Propaganda. See any number of studies about people's perceptions of tax policy and various government programs, versus the reality of same. Some discrepancy would exist no matter what, but much of it is the result of deliberate misinformation.
How many candidates are there that will pay more than lip service to improving things?