If you're at all familiar with changing the values in the game, it seems pretty simple to increase the "accuracy" of the weapons. A quick fix (instead of editing each weapon individually) is to change the dispersion values for the player.
The disadvantage of this is you will automatically be more accurate than the AI, if you can't stand this, you can either go through each weapon and edit them all, or you can edit the values for each human AI.
Now, for the code (I've translated the documentation with babel fish and cleaned it up so it might not be accurate):
find your actor.ltx file in *STALKER*\gamedata\config\creatures\
;Dispersion of bullets (when walking and running)
disp_base = 0.8 ;angle (degrees) of dispersion when standing stationary.
disp_aim = 0.04
disp_vel_factor = 2.0 ;amount the dispersion will increase when moving at 10 metres per second (not necessarily running)
disp_accel_factor = 2.0 ;amount the dispersion will increase when the actor runs (plus speed)
disp_crouch_factor = -0.2 ;amount the dispersion will decrease when the actor sits
disp_crouch_no_acc_factor = -0.4 ;amount the dispersion will decrease when the actor sits and is stationary
;disp_jump_factor = 2.0
For the math part. To increase accuracy (and maintain the same percentage advantages for crouching, aiming or disadvantages for running) we have to decrease these values by 25 percent to increase the accuracy by 25 percent, makes sense?
0.8*(75/100) = 0.6
0.04*(75/100) = 0.03
2.0*(75/100) = 1.5
2.0*(75/100) = 1.5
-0.2*(75/100) = -0.15
-0.4*(75/100) = -0.3
Plug in those values:
disp_base = 0.6
disp_aim = 0.03
disp_vel_factor = 1.5
disp_accel_factor = 1.5
disp_crouch_factor = -0.15
disp_crouch_no_acc_factor = -0.3
Some notes on this. It's all theory from what I've learnt, but that should work for what you want it for. If it doesn't, I've just wasted 10 minutes explaining how to do it.
And, theoretically, you could plug in values that give you a disadvantage from aiming with ironsights, crouching or whatever. Just a thought, because I'm not sure if the engine will only accept unsigned float's for that variable.