no, it isnt guess and check at all actually. offsets are taken from the spriteoffset of the gun/magazine, and are sometime in relation to other offsets (jointoffset for example).
the jointoffset is where the hand connects to the gun
the supportoffset is where the support arm connects to the gun (keep it farther back, because if you go too far out when you sharp-aim the hand just drops away)
the muzzleoffset is where the bullets come out. if theyre starting too far back, raise the X value.
the stanceoffset is where the gun is held in relation to the arm joint.
the sharpstanceoffset is where the gun is held when sharpaiming, in relation to the arm joint.
also, remember which way the X and Y axis go.
your magazine is positioned off the gun likely because you did the sprite or jointoffset incorrectly. sprite offsets are negative values, and jointoffset is from the center.