Você pode dar a cada resultado um número aleatório e ordenar o resultado primeiro por pontos DESC e depois pelo valor aleatório:
SELECT *, RAND() random FROM users ORDER BY points DESC, random ASC
Provavelmente há também a solução com:
SELECT * FROM users ORDER BY points DESC, RAND()
Mas eu não tenho certeza sobre esse.