А может, считать рейтинг как в КаунтерСтрайке?
Вы только не пугайтесь, но считается примерно так:
Сначала у всех 1000 очков.
Пусть гонщик А (рейтинг = рА) победил гонщика Б (рейтинг = рБ).
рА* = рА + 10*(рБ/рА),
рБ* = рБ - 10*(рБ/рА).
Где рА* и рБ* - новые значения рейтингов. Таким образом, если А изначально был круче, чем Б, то получит он меньше 10 очков. Если же наоборот, то больше. Если одинаковы были, то ровно 10. И соответственно, если слабенький Б сливает крутому А, то потеряет он меньше 10 очков.
Вроде справедливо.