I understand the difficulties of creating an algo for MMR and matchmaking, however, we live in the renaissance of machine learning, maybe invest in a good data scientist, that's what we all do; I know it's pricey.
That being said most of my frustration comes from the fact that account level +600 players are matched with people just starting. You may say well they could be just as good of an fps player as you are, but it's not true if that person is very low level. You must know that map awareness and knowledge is the biggest advantage one could have. No matter how bad a player is if he is here since closed beta he is ultimately a better teammate than someone who played 10 matches and got lucky with Victor.
I would absolutely introduce a +/-limit in account level (can be wide), I'm just sick of seeing my teammates picking a lvl0-5 champion (for frikng fck sake, you play 4 games and you are passed lvl5) and I literally don't have any champ under lvl30.
That is just one metric. I'd brainstorm for some others that can have an effect. Minor things can tweak the algorithm greatly and not necessarily limiting your valid player pool.