How about a compromise? average of the last N games?
if totalplayed is < N, use your algorithm
(totalplayed * oldrating) + currentscore newrating = ---------------------------------------------- totalplayed + 1
Once totalplayed >= N, then it becomes a rolling average of the last N games played
((N-1) * oldrating) + currentscore newrating = ---------------------------------------------- N