If you use the in-game network charting tools etc you can actually see the shots getting registered on your client and getting discarded by the servers.
It is definitely often throwing away the last shot you make when the enemy kills you. There should be way more kill trades. This would be much more realistic and satifying and much less frustrating, but the kill-streak CoD kidz would freak out that the gunplay isn't 120% about their twitch play.
A lot of players basically want to walk away from a gunfight because they were 25ms faster even though it's wildly unrealistic.
Why be tactical, careful, use cover, etc when you can throw yourself into every gunfight and win because you fired first?
The desync between server and client and the 60hz tick and all other manner of 'netcode' issues make this seem like you are dying very quickly and even though you should have killed the enemy.