Search engines have to solve this problem, that the results listed higher garner more clicks, and thus using clicks to rank is biased. They can separate the position of the result from its relevance through something called a click model. They make some of the assumptions you list in your article, which you call "examples". Click models are mathematically rigorous and can be quite optimal for solving the upvote bias, and obviously you would replace "clicks" with "upvotes" in your implementation. Here are some well-known click models:
I've only skimmed through the articles so far and they seem really interesting. And your comment ought to be the topmost comment :-) but people won't have time to read the three articles and upvote :-(
Anyway I updated the article I wrote with a section "This problem elsewhere, and solved?" that lists your links (and said thank you to you).
May I ask, how come you knew about how search engines function? (For example, do you work with developing search engines or have you studied them at University?)
Cascade Model (one of the original click models): http://www.wsdm2009.org/wsdm2008.org/WSDM2008-papers/p87.pdf
Dynamic bayesian network model (a more generalizable Cascade Model): http://www2009.eprints.org/1/1/p1.pdf
DBN model with scroll and hover interactions (kind of like your example 2): http://jeffhuang.com/Final_CursorModel_SIGIR12.pdf