I see what you mean about making hextech crates have a higher chance to drop loot relevant to your favorite champions, but on the other hand I sometimes pick up champs because a skin shard I got for them piques my curiosity about them and sometimes these champs end up becoming my mains for certain roles (here's to you, Chosen Master Yi).
I guess what I'm saying is always getting things for champs you love or main would be nice, but I think the reason it doesn't work that way is to encourage league players to expand their horizons and try new things with skins or champ shards as incentives. Plus the more champs you have, the more crates you can get anyway and the higher probability you have of the contents of said crate being relevant to someone you like.
That and altering the crafting rewards algorithm to factor in your champions' mastery levels to filter out the random rewards pool is probably going to be annoying and hard, if not outright impossible given the workings of the randomization algorithms.