The accepted answer always appears at the top of the list, regardless of sort order. This can be misleading if the question author accepted an invalid solution and a better solution was proposed later, and eventually got more votes. I have seen somewhat obscure questions where the accepted answer has a negative score and the next answer has 10 or more up-votes.
"Accepted" and "correct" are two thoroughly different and disparate concepts, and complaints about the sort order invariably revolve around some misunderstanding of this difference.
Acceptance of an answer simply indicates that it solved the problem for whoever asked the question. You can't override this because it is entirely the decision of the original author. He owns the question, he decides which answer he found the most useful. There's nothing more to it than that.
There's even a badge for answers that score significantly more than the accepted answer. It's an indication that these discrepancies are expected to happen, and there's nothing wrong or unusual about it.
On the other hand, the voters are frequently wrong as well. I've seen many an incorrect solution (as in woefully incorrect; does not compile incorrect) voted up ridiculously many times. The "override" of accepted answers gives the questioner the opportunity to say, "Hey, I don't know what all of these people were smoking, but that answer right there is not the right one." It makes no sense to take this away, no matter what the votes look like, because that's the whole point of the system.
Highly-voted answers will appear directly below the accepted answer, there for everyone to see. If subsequent readers are too lazy or have attention spans that are too short to read any further down than the accepted answer, that's their problem.
Ultimately there's no way for the system to ever reliably determine which answer is truly "correct" - if there were, we wouldn't need accepts or voting at all. Therefore, the only time that voting should "override" answer acceptance is when it already does, i.e. when the answer was submitted by the same person who asked the question. In this one exceptional case, the default sorting rule is ignored because even though the questioner can reliably say that [his own] answer solved the problem, there is no guarantee that, as written, the answer was communicated effectively enough to be understood by another person. The normal answer/accept social contract between two members makes no sense when there's only one member involved.
Bottom line is that the status quo is fine here. We don't need any complicated systems for overriding the accepted answer, however annoying a few bad accepts may be. If you're a reader as opposed to a questioner or answerer, then make a habit of scrolling down to at least the second answer, and then you won't have to worry about this problem.
I mention a couple of cases in a similar question I recently asked. I'll restate the main case here.
When an accepted answer is "outdated", and there exist highly voted answers that are more recent, then a vote-based sort order appears more useful (at least in my experience). Some heuristic would probably be useful in defining "outdated", giving the community enough time to decide whether unaccepted answers are really useful "enough".
The question mentions those cases where the accepted answer has a negative vote, I think that's another case where sorting lower on the page makes sense.