"Нужно передавать в алгоритм, что одно лучше другого."
А не передавать ли какой-то чёткий параметр? Или такого нет (ну или задача как раз -выделить его)?
"Вся загвоздка в том, что один может передать, что А лучше Б, а другой наоборот"
Разделить оценки по категориям (читай "лучше в связи с тем-то") или же (если есть явный перевес) - отбросить одну из сторон, нет?
з.ы. кстати, если явно перевеса нет - возможно, удастся разбить юзеров на N кластеров по их голосованиям, обучить N оценивающих сеток и после - классифицировать юзера и давать ему вывод соответсвующей сети. Но тут я уже не подскажу какой-либо конкретики.