Honestly, you probably need to stop with character specific criticisms. No one is gonna listen to you and your tone might get people off their game. Like in your Mei example, it might of been a simple mistake (every Mei has done a bad wall), but what if she puts up an awesome wall that actually helped your team, did you thank her for that? There's too many people that are quick to point out mistakes, but very rare that people actually say "hey that was a good ____". All your examples show constructive feedback on what they need to work on, it's not really constructive if you're not giving out good feedback for what they do right. I guarantee you that Mei probably has had 15 other people tell her how much her walls suck and to get off the character because she sucks. **Maybe** had one occasion where someone told her that she put up a nice wall.
You have to low key tell people how to play via teamwork, you can't just tell people essentially to play their character better or switch off to a different character. Example: f the D.Va never users her DM, let's say I'm Rein.. I would say "Hey D.Va can you use your DM for a bit my shield is getting hit hard, I need to regenerate it". Chances are higher that they start using the DM more often because they feel more involved in the teamwork/strategy. Did I directly tell them how to play? Indirectly yes, but they don't know that, they think they're contributing to the team (which they are).