I know this has been suggested numerous times about when you queue, there could be a prompt asking what role you would like to play, i.e. support, jungle, etc. The idea is not favored because it favors a "meta" and stifles creativity.
What if the same model were used, but I think there is an assumption being made that when these people pick their "best roles" they are being otherwise pigeonholed into playing these roles, as well. If I pick Support as my best champion, then I will get paired with the player who said their best role was "AD Carry", etc, so my team will be well balanced, but it shouldn't restrict Champion choices at all in case we need to shuffle things around or counter pick more effectively.
For example, once again saying I am best at Support and another player on the team is best at AD Carry.
Enemy team picks Vayne AD Carry. Our AD Carry says he/she mains Vayne and not well with others. Now, they can instead pick Support and I could AD Carry in his/her place. I think with preference systems like this, it would be very similar to what it is now, but more streamlined in the sense that people are more likely to get the roles that they are best at.
On this same tangent, players could even say "I prefer leading, I prefer counterpicking, I prefer..." For myself personally, I am best at counterpicking, so regardless of whether I am the highest or lowest ELO on my team, I hate first pick! I like to be the lowest so that I can counter pick more effectively. Players who prefer leading would have a higher chance of being first picks, etc maybe? Not very well thought out on that idea, just trying to give some sense of depth.
Also, secondly, I haven't thought about this as well as my previous idea, but what if there were Practice Ranked games (separate from Normal) and Ranked Games? Well, what would be the difference between Normal and Practice Ranked? Practice Ranked would show your Practice Ranked ELO, like the hidden values of a Normal ELO, so you get kind of a sense of where you are. Normal Games could maybe as a result offer more IP for playing them to give an incentive to still play Normal Games as well. This way people have multiple venues of practicing, playing, and enjoying the game. Either playing Practice Ranked which is taking the game "seriously", but still not at a competitive level. Normal for casual, fun games for testing or just relaxing, and Ranked Games for serious, competitive play.
Sorry, lots to post. I don't know whether or not to expect a reply, but I never bookmark threads. If for whatever reason you plan to reply to this or want further discussion, you can email me at email@example.com.
Good luck in finding a solution to these many complicated problems!