How about ranking by how other users who have a similar voting pattern to the current user vote on an article? So, for example, when the page is rendered for user x, each user who has upvoted an article has their vote multiplied by the similarity between their voting pattern and user x's voting pattern before sorting with the current algorithm. Each user then gets a semi-personalised view which, hopefully, is to their taste.