Gamesense is something incredibly vague, and a lot of players are always confused when higher level players talk about it. So before I'll tell you how to actually learn gamesense, I'd like to explain what it exactly means.
Gamesense basically implies everything that you need to know about the current game you are in. Mechanics tell you where to shoot. Positioning tells you where to stand. Movement tells you how to move. But Gamesense tells you what to actually do. Gamesense is knowing how many players are alive on both teams. Gamesense is knowing whether flanking or staying with your team is the correct play. Gamesense is deciding whether using your ultimate is worth it or not. Gamesense is knowing what abilities and ultimates the enemy team has at their disposal. Gamesense in my opinion is the most important skill a player needs to have in order to succeed in a competitive environment. The problem that most players face isn't that they are unable to execute their plans. It's that they don't have a plan to begin with.
So how can you work on your gamesense then? There are 2 techniques that I want to go over. One of them can be a little awkward at first, while the other is probably easier to get into, so let's start with that one.
Youtube is full of player VoDs. Just search for whatever character you want to learn and you will find a bunch of different gameplays. Some channels include VictorQ, TheFattenedSausage, ImGeorge, OverwatchDD or Pro Overwatch Vods. And there are probably a bunch more out there. You are bombarded with hundreds of Pro SoloQ matches that you can analyze, and most importantly, most of those matches were really good matches. After all, why would someone upload a pros bad game?
Now what you would do is choose a VoD of the character you want to improve with, and ideally even on the map that you want to improve with. Don't hesitate searching for Tracer Numbani for example if that's what you want to focus on specifically.
Now here's what you are going to do. You are going to predict what will happen in that VoD. Depending on what you want to focus on you are going to pause the VoD regularly. If you are more interested in microplay then I would pause the game regularly, every 5 seconds or so. If you are more interested in Macro play like ult tracking for example just pause it ever 10-15 seconds. Whenever you pause the VoD try to predict what the Pro Player is going to do. Try to predict where he's going, when he'll use his ult, who he is prioritizing and so on and so on.
Now, this is going to be really really difficult at first. You'll say that the pro will walk right but he'll walk left. You'll predict he's going to shoot the enemy McCree but he will shoot the enemy D.va instead. That is completely normal and it simply shows you how much of a problem your gamesense is so far.
Keep in mind that not everything the Pro does is going to be right. Pro players are better than anyone else, yes. But they make a lot of mistakes, otherwise I wouldn't really have to exist. For the sake of this practice however just assume that everything the Pro does has its reason. Also, don't mistake bad execution with bad gamesense. If you predict him to go right, he ends up going left however and ends up dying, then don't just assume that you were right and he was wrong. Just assume that his execution was lacking and there probably was some reason he chose a path that you didn't predict. Try to figure out why he would've taken that path.
As you keep doing this, pausing VoDs, predicting whats going to happen, keeping track of ults and abilities used, you will start to adapt. This is deliberate practice. Watching a streamer for 2 hours doesn't do shit. Thinking about their every move however does.
Another technique is commentating your gameplay. Yes, you heard me right, and this is so incredibly awkward, but please hear me out.
I want to focus your inner Stylosa and talk to your screen. Literally commentate every move you make. Just tell yourself "Alright I am waiting for my Ana to respawn so I will take the right side highground to set up while not overexposing myself because I know the enemies have a Widowmaker. Alright there's a roadhog fuck that I'll just see if there is some other route I can take. I see that my tanks are moving via the main entrance so I am going to follow them. I know that I have my biotic field so I'll use it on the tanks to hopefully get my ult in time. I see that we are in a 6v6 so using my ultimate right now could give us a headstart, but let me check the scoreboard first. Oh I see that the enemies have a Zenyatta. Does he have his ultimate? I think so, I don't think he used it in a while. But wait, I know that we have a Nanoboost and Dragonblade on our team. Maybe I can use my ultimate to bait out the Transcendance, so that my Genji clean up?"
And so on and so forth. Now commentating everything you do is also deliberate practice. Playing for 5 hours a day won't help you as much as 1 hour of deliberate practice would. Commentate everything you do, think out loud. It's a lot harder to do something stupid if you actually have to say them. There is no way to autopilot speaking, so everything you say actually has some thought behind it. Most players make mistakes not because they are stupid, but because they don't conciously think about every decision they make. They start to autopilot. Commentating what you do is going to stop that.
Now this is something that with enough practice can be done in your mind as well. At the start the only way to really do it is by talking out loud, but as you get good at this you can think all your plays through in your mind. And this is why you should have a lot of respect for pro players. They can think through every single move they make while communicating with their teams. It's incredibly difficult to talk with teammates and with yourself, but practicing it deliberately is going to be a huge boost to your skill.
Alright, so those are 2 techniques that will no doubt help you improve your gamesense. Obviously you will still have to work on your mechanics, but at least you will stop losing games because of dumb decisions. From the months of coaching I have done I learned that most players aren't dumb. When you ask them what they should have done they usually give you an answer that goes in the right direction. The problem is that they don't start thinking until after the game.