Check out the IOF world ranking scheme at
http://www.orienteering.org
I use a similar scheme in Australia for elite rankings and implemented it very cheaply with a few mathematical formulas in MS Excel. Of course it can be coded and built into a database program too.