A ranking system with a 'rating' is the best way to go with online games, IMO. Basically, your rank would be based on your rating.
Your rating would change accordingly depending on if you win/lose against higher/lower rated person, not strictly on win/loss ratio.
For ex. a top 10 player, obviously, would have a higher rank because of his rating. If he plays some n00b and wins, the top 10 player gets a minimal boost for his rating and his rank most likely will not change. If the n00b wins, he would be greatly rewarded and the top 10 player would lose a good chunk of his rating, probably dropping him in rank.
I think that should make sense...
