There are tons of ways to do this, none of which have been implemented by SE. If I was designing the site, you'd get a different version if you came in from a search engine (including the SE search tool, adorable as it is) (looking for answers) than if you were trawling / pruning SE (looking for questions). Obviously, you could switch from seeking to trawling fairly easily. The trawlers would get answers without the context of votes, and have the responsibility to up-vote or 'I don't know'. The seekers would get the most up-voted (per time on SE) answers on top. If the trawlers found a problematic answer, they could ask for [trawler/pruner] community attention to build a consensus to edit, combine, remove or flag as inaccurate or opinion. This way, you get to retain the democratic aspect of the site, but the best answers will rise to the top rather than merely the oldest. This system would require people to be honest about where they are at, but there's an implicit assumption of honesty already.
Another option might be to normalize the number of votes against the number of page views. Just to review, normalization is just division, so if an answer has 12 votes and it's had 100 page views, it's at 12%, whereas if a new answer has 2 votes, but it's only had 4 page views, it's at 50%, meaning it'd be on top.
I could come up with ways to deal with this all day.
Incidentally, this answer is almost 2 years older than the competing answers, so think of it as a test. The question asked if there were ways to address this (not whether they were a good idea, and not for a defense of the status quo). By definition, there are always ways to do something differently.