As I now plan to update a players' average (but not other players') everytime he scores I think all averages will always be updated.
Thank you very much for the code! As I only want to update for the active player I modified it somewhat and it seems to function correctly. Example below for player john (I have 57 different scores and want the total divided by this number even if a player lacks some of the scores).
JOIN ( SELECT username
, SUM(score)/57 AS avg_score
FROM score WHERE username = 'john'
BY username ) AS average
SET user.average_score = average.avg_score WHERE user.username = 'john'