а что мешает "калибровать" силу голоса.
ну вот вы говорите "не уходит выше 1", так возьмите за 1 -- максимальный имеющийся рейтинг (или несколько "заведомо выше" максимального имеющегося, но это может и не понадобиться) и пересчитывайте остальные пропорционально.
чтобы юзеры не барагозили, когда максимальный имеющийся падает (и всем пересчитывается вниз), можно численное (представленное пользователям) значение его не менять, но подтягивать всех остальных немного вверх, если вы понимаете о чём я. но над этим уже потом думать, когда система немного наполнится и заживёт
ну и из мыслей, думаю, не стоит рекурсивно пересчитывать рейтинги в случае "у пользователя которому он отдал свой голос будет тоже пересчитываться сила голоса... ", тут видимо дальше "а если тот пользователь отдавал свой голос за первого, то первого тоже надо теперь пересчитать" и т.д. имхо достаточно просто остановиться на первом шаге и всё
вообще вопрос довольно интересный, но мне кажется у вас так сказать "ум за разум зашёл" в результате долгого обдумывания, не переусложняйте =)