можно рейтинг строить на основе соотношений очки нападавшего(Нап) к чкам защищающегося(Защ).
к примеру
налет на "i" + 1 очко;
налет на игрока +((5*Защ - Нап)/Нап)*100 нападающему, если он победил, -((5*Защ - Нап)/Нап)*30 защитнику, если он проиграл;
оборона игрока -((5*Защ - Нап)/Защ)*200 защищающемуся, если он победил, +((5*Защ - Нап)/Нап)*50 нападающему, если он проиграл;
Ничья +((5*Защ - Нап)/Нап)*50 нападающему, -((5*Защ - Нап)/Нап)*50 защищающемуся;
Тогда если нападающий во много раз сильнее, то он будет уходить в "-", удачные атаки и обороны против более сильного игрока будут уводить в "+"
Пример Sauron нападает на Kain и
1) (S) выигрывает, Sauron получает -27 очк0в,Kain получает 8 очков
2) (К) выигрывает, Sauron получает -13 очка,Kain получает 54 очков
3) Ничья, Sauron получает -13 очков,Kain получает 13 очков
Пример Sauron нападает на Kreg и
1) (S) выигрывает, Sauron получает 620 очков,Kreg получает -310 очков
2) (К) выигрывает, Sauron получает 310 очка,Kreg получает -1240 очков
3) Ничья, Sauron получает 310 очков,Kreg получает -310 очков
*все персонажи вымышленые

можно еще все умножать на коэффициент (сумма флота с обеих сторон /1 000 000)
Защ > 25000, Нап > 25000