Probably the best tips i can give. Most are common sense, but it helps to read them.
When firing most guns, the projectile will get additional velocity based on your velocity. This means that if you walk to the left and shoot, the projectiles will go to the left of where you are aiming. Knowing this, you can use movement to control your shots as well as aiming, which frees some wrist stress and can save your focus. Knowing this, if you and your target both move at the same speed, and you are both moving in the same direction, DONT aim to where theyre moving. Aim where they are. The projectile will move at the same speed, and hit them dead on every time. Its counter intuitive, but it works.
Read through and compare different weapon scripts. Some weapons have neat tricks you can learn in the code, for example you fire the right Akimbo gun when you press the mouse (as normal), and the left when you release. You can also find out if weapons have the velocity modifier i said about above.
If your in a battle with someone, sometimes you get into a trance like state, where you focus so much on shooting as fast as you can, that your opponent learns how to avoid your shots. I often get into these, just give your mind a refresh, stop firing for a second, that will confuse your opponent and you will often get a few hits on them. Happens loads with spear fighting.
Know your weapons. Know their range, damage, firing speed, accuracy, whether they have ammo, anything and everything about them. That way you will always know what weapon to use in the right places.
Never take cover for too long. In real life it saves lives, but in games all it gives is your opponent time to take an aim where you will go. If you are in cover and the opponent has an aim on you, do something unexpected, jump over, run out the dumb way, or just run, jump, and crouch out.