The proper Dyn Queue approach
you pick your preferred role(s)
you get paired with 4 people close to your elo at random.
the game arranges these as best possible to maximize the number of people with one of their roles selected.
the remaining get assigned a role at random.
incredibly short queue time for everyone, highest possible rating for getting your preferred role for each role as popularity dictates, no competing "mid or feed" like in solo queue.
well I guess that doesn't do anything about teams, but it sure eliminates the rest of the issues and lets you focus on fixing the solo verses team issues....