How about the system assigns what it should be MVP without announcing it, based on assists, kills, deaths, turrets, because all of that will roughly be who is the best team player (all kills no assist = bad, insane amount of deaths bad, etc), and have each team vote it's top 2 or 3 picks for MVP based on character type, such as carry, tank, support, which are already assigned by Riot, although there would need to be some way of classifying, such as the system looking at total armor and all that.
There needs to be a way to get out of ELO hell. 3 solid wins followed by trolls and ragers puts you unfairly back at the bottom through no fault of your own. Perhaps penalize lost ELO less on a scale based on previous game reports for an individual and the system looks at their current game (especially if time spent idle is excessive or if they left, but also if they have insane deaths), tallies this up, and scales the lost ELO accordingly. That way, ragers, idlers, and feeders will stay at the bottom, and the others will albeit slowly ascend. Maybe even have said terrible team player take up a portion of the lost ELO.
yes, this does mean someone who sucks or has a bad game loses more ELO, but by having the system judge previous statistics it would better determine if they deserve their current ELO or not. Maybe even reset 100 ELO ranks up (capping at say, 1300) after a week or something in playing in the pubs, as a sort of incentive to get better, but not required.