I don’t think they should remove the mechanic, personally, but I can see how that would be frustrating.
The MMR system works by looking at your MMR for the current race you’re playing, and looking at your opponent’s MMR for the current race they’re playing.
Depending on the disparity between the two, you will have an MMR range that is either even (MMR range is close) slightly favoured to one opponent (one opponent has a little higher MMR than the other), favoured (one opponent has an MMR that is somewhat higher than the other) or very favoured (one opponent has an MMR that is much higher than the other).
When you win vs someone that you are favoured against, you gain comparatively little MMR points. However, on the opposite end of the spectrum, when you beat someone who is a higher MMR range than you are on your current race, you gain a significant MMR boost because of how favoured they were.
The important thing to note is that MMR ranges are serparate for each individual race you are playing. Effectively, this means that you have 3 MMR stats - one for each race.
Additionally, the points they get also include points from their bonus pool if they haven’t played with that race for a while.
Now, I’m not entirely certain as liquipedia doesnt have a whole lot of details on the unranked matchmaking, but it is also possible you may have a separate MMR for each race you play in unranked as well - I think thats the case, but I’m not 100% sure.
I actually think the system as it is is a fairly robust system. I havent gone into a lot of detail here, and liquipedia has a fair amount more on it, but suffice to say I’m quite content with it as it is.
I suppose you could make the argument that if you are playing a ranked game and lose against someone who is unranked you should lose a set amount of MMR regardless of what league they’re in, but I don’t think that’s any better than what we have currently, personally.