There is a penalty for dropping out, but it's worth noting that your ELO rating is calculated before the penalty is applied.
It is true if this dropped out player defeated you, but what about if you are who defeated him? :P
If he would carry on the playing and get all the 20 games, it is high chance that his final rating would be higher because the + 40 points per game (and if he is a decent player that points would be much much higher because of his unrealized wins!). And because your rating is always change if your earlier opponents' rating change this means your rating will be hurt because of these dropped out players. Or I do not understand well the system?
Let me write a theoretical example: there are two players who are the best (with similar strenght and the rest players much weaker than these two one). One of them play very quick and got good opponents all the time and everybody of his opponents finish the season (got 20 games with many wins). The other (or his opponents) play much slower, and his first 5-6 opponents are very bad and many of his later better opponents left the ladder after few games. Of course both of them win all of their games.
These two players will be pairing againts eachother during the 20 games at all? :O
If yes and the second player defeat the first one, he will be the first for sure?
Or other, not so theoretical example: if a season would be only 11 games instead of 20, Robin Hood how can overtake jz if jz win his last game? Roobin Hood would have 10/11 record while jz would have 9/11 and Robin defeated jz, but I think Robin would stay behind jz :O
Is this ok?
And I know that impossible to create a perfect (in every aspects) ranking system but do you think this is the best achievable one?