If you have a good ping, I mean under 30, you rule the game. Anything more is just a disadvantage against better ping players. Milliseconds matters in shooter games, and not only. When you register hits on a server and your opponent doesnt, you are the Jedi Master of the game. When you dont feel the enemie's bullets you stand still until you get the full magazine, and when you are full of holes, server sends you the data package that you are getting the first bullet. Till that time you are dead but you feel like you can try to hide. You hide, but suddenly you die behind cover, and you curse and get mad, how the heck that happened. Everything happens for a reason in life. In BATTLEFIELD and EA servers that dont exist in your country, you die cause of LATENCY. SIMPLE AS THAT...
So dont try to be a better player through guns and stuff. A 5 year old boy can nail you cause he lives in a country that has an EA server in the neighborhood, and end in a PING like 12. He plays like in local network, and you my poor friend, play from miles away, hoping in no LAG, JITTER, LOST PACKAGES and all that netcode things that made us experts by reading about them but never experienced them, in a good way for us.
Keep cursing about your skills? The blame is not yours. Embrace that idea, and just die one more time, laughing at netcode's face, allowing NO FAIR PLAY.