Expecting someone to be able to play all 5 roles competitively before playing ranked is ridiculous.
I don't think it's ridiculous, it means you have a good enough understanding of the game to perform well in Ranked. That doesn't mean you have to be GOOD at all 5 roles, but you could at least be competent at them all.
Like for example if I say, "prefer mid, top, or adc", then my team can hopefully give me one of those roles. But if I'm last pick, and I don't get one of the roles I called, should I just be unable to play the game completely then? That sounds ridiculous to me. What if everyone in the Ranked queue can only play 3 roles, and they all just happen to overlap? Or what if you can only play 2 roles, and they happen to get taken?
I'm not saying you have to be EQUALLY GOOD at all 5 roles, but you should at least have a basic understanding of each, in the unfortunate scenario you get stuck with one. I can't count the number of times on 2 hands players get stuck with roles they don't know how to do (like support). It's not because the team was malicious or wasn't communicating, it just turned out that way, and the game often ends miserably. Why is it any more the team's fault than the individual's fault for not having a basic understanding of each role before playing Ranked?
There is no good answer to that question. You're not always going to get the role you want, or even the the top 3 roles you want, so if you can't play all 5, don't play.
But I agree with your suggestions. I had even thought of a ranking system based on role. For example you could queue up as a top, mid, jungler, etc., and your rating would be based on how well you do in that role, instead of how well you do in general, which may vary greatly from role to role. However I came to the same conclusion you did, that it would stagnate the already entrenched metagame, and I for one would like to see a lot more variation than what we currently have.
I like the idea of the "role buttons" to make it more transparent to your team what you would prefer. Though I still don't think it's an excuse to be incompetent at certain roles, but it might help your team provide you with the ones you excel at.