When playing as D.Va, a technique I often find myself using, is to boost into an opponent followed by a short burst of fire from my fusion cannons, then I pull up my defence matrix as they almost always return fire if they aren't dead and haven't tried to run away. After they've fired a few shots I drop my defence matrix and return fire.
I feel that during a reload would be an ideal time at which to attack up close in order to finish them off.
How can I tell whether they are out of ammo or about to need to reload?