@NastyHigh brings up a good point about correcting ELO for people that intentionally lose a series of games. I think there is a solution that would also compensate for disconnects, newly created smurf accounts, and laming.
The maximum exchanged ELO win/loss points should not exceed game time in minutes, rounded up. For example, if a game only lasts 1 minute or less, then the winner can only get 1 point and the loser only loses 1 point. A 16 minute game could have up to 16 points at stake. And so on.
A smurf that intentionally throws a series of games would not see their ELO decline as much unless they idle their computer/game for some period of time.
A newly created smurf account of someone that just stomps opponents would still rise quickly enough, because even a constant drush or going feudal with scouts is going to take 10 minutes or more to finish a game. So, enough points would be exchange to rise the smurf account.
Lastly, on team games, if someone disconnects or crashes within the first minute, the team is only out 1 ELO each if the remaining players resign.