Some ranking improvements:
1) Cap the maximum loss to 25% or something like that. - If a player gets a massive rank penalty then its not the player's fault, it is the fault of the matchmaking system for putting that player up against much higher ranking players(or giving him a noob team mate)
2) If ranking system worked great, then rank would change very slowly in both directions.
E.g in a perfect match making, equal players would get matched and neither would gain much rank since they are already at their appropriate rank.
If a platinum 1 player loses to a platinum 1 player, then it should change the rank of both players just a little bit.
If a platinum player loses to a champion lv player, then he should not lose any rank( or close to 0) because he is not supposed to win
a player who outranks them.
If a platinum 1 player defeats gold level players - then it doesnt mean that he should become platinum 2( or get closer to platinum 2 ). He shouldn't gain much rank at all.
Like in sports - if you want to take someone's place, you should beat them. If you want to become the first - you need to beat the first ... instead of beating the last place 100 times.
3) if someone fails to connect/disconnects at first minute - cap the maximum rank loss to 5%
Making huge rank changes based on broken games is one of the reasons why the AI makes wrong adjustments and puts players in wrong ranks.
Its better to filter out such games completely.
4) Reduce rank loss if a team of random players loses to a premade team.
Premade teams have huge advantage.
If a team of 3 x random platinum 1 players loses to another team of 3 x premade platinum 1 players then it doesnt mean that they dont belong to platinum 1 rank( and should take big rank loss). Instead, the rank loss should be minimal.