Unlocking all the champions for ARAM would reduce the money flow of Riot: ARAM only people would not have much reason to buy new champions (only if they wish to be able to earn mastery score for them or they wish to have so cool skin, which they could occasionally show off to others) and because some ARAM only people would stop playing League. I don't think Riot sees that as an acceptable solution. And like Sukishoo said, Riot has done research about the matter at some point and there aren't really that many ARAM only accounts you mean.
I don't think I have seen your other improvement idea before. How would Riot be able to detect which accounts are the bad kind of ARAM only accounts, and which are the regular ARAM only accounts? I consider my only account "a regular ARAM only account" with the about 60% of the champions owned (I thought the percent was higher, but we really have 140 champions these days).
Also, since ARAM does have it's own MMR rating, the non-regular ARAM players are probably unlikely to meet the ARAM only people (of either kind) too often anyways, since everyone is matched against people with similar MMR - ARAM regulars tend to have higher MMRs in the Abyss and often abyssal MMRs elsewhere.
Could you explain how you immediately know you have been matched against these "people"? If you mean that they have Ziggs, Lux or some other top x champions, it just means those are owned by most people who play ARAM. Bad ARAM champions are usually rerolled away or the lobbies with many bad champions are dodged. This is why the top champions appear in the Abyss more often than the bad ones. I call that the Yahtzee effect. If you ment you can tell that immediately by some other means, I would love to know the trick - so I might be able to do the same. :)