I think the biggest problem is that people's normal game playing habits aren't taken into account when considering their initial ranked placement. I suggest making a wide range of possible ranked 'starting pools,' where people can be placed based on how they've been playing on their 'journey' to 30. It's not fair that the idiot who bot-gamed his way to 30, trolls real teammates, and doesn't know the first thing about the game gets placed into games with people who legitimately belong at a vastly different skill level.
One of the problems I noticed was the people can get rocketed up (or down) into completely undeserved ratings right from the start. It seems like this would give an incredible amount of inconsistency in the player pool for most Elos.
I would like to see the "super normal tryhard guy" who has a very high normal Elo placed into, maybe, 1500 or 1600 Elo to start, while the guy who does nothing but troll-builds and sucks gets placed into 900 or 800 to start. This would give the ranked player pool a lot more consistency across various Elos. The average player wouldn't be affected much, because their normal Elo (even if they occasionally mess around) should be ~1200-1300 with a roughly 1:1 win rate already, so, for the average player going into ranked, their starting place would remain the same. Opposite ends of the normal Elo spectrums will be placed into lower or higher Elos right away, because of their playing habits.
I've never met a player who sucks in normals but owns in ranked games (or the opposite, owns in normals, but sucks in ranked games). Ever. Even the people who say they don't play normals "seriously," but are great players despite that, will succeed with less-than-optimal picks or strategies just because they're good. Most of the players I'm placed against now in normals are 1800+, often (every other or every third game or so) being closer to 2k, but I (and all the other prospective ranked players) still had to begin where that amazingly huge disparity in player skill exists (~1200 range).
On trying to join a ranked game for the first time at level 30, players could be informed what their ranked 'starting Elo' will be, and they have the decision to either start from there, or if they're unhappy with it, could play more normal games to raise (or lower?) their starting Elo.
This may be a weird idea.. but I really think it would remove a TON of inconsistency in matchmaking, while only drastically effecting the starting Elos of the two extreme cases of normal player: the 'super tryhard' and the 'troll.' I know there has to be a way to 'iron out' skill level somehow; this may or may not be the way to do it, but I think a refined version of that idea could really benefit the community.
EDIT: Just an additional point. I think Riot's matchmaking generally is very consistent when players either reach the "really bad" or "really good" side of the Elo curve (assuming it's like a bell curve). When players are at 500 Elo, they're basically awful and there's no denying it; the matches, although played at a really low skill level, probably don't tend to be as one-sided as the mid-Elo curve games. Same goes for exceptionally high Elo; even though those players are calling each other bad all the time, I don't think I've ever seen a legitimately bad 2k Elo player.