Personally, I'm a terrible shot. but I learned a few ways to help myself out.
-I set guns to converge at exactly 400m. even if they're nose mounted.
-I don't fire until I'm at 200
-if I can see the entire top of the plane I'm targeting, I put them just so he's poking out over the cowling that generally gives me a good lead.
-If he's a little bit to the left or right of where he should be, I kick the rudder a little bit.
-If at all possible,I exploit the other pilot's blind spots so they aren't expecting me, which gives me a more stable target and allows me to better predict his moves.
- when I'm diving on a plane, and he turns into me, I get a proper sight picture and fire at twice the range my guns are set to converge at.