Nice small script you might want to improve a bit:
_x = _a + random _radius
That code will always generate an East displacement, as your random will be always positive, same for _y and _z.
If you want a random position around a center with a maximum radius you may use:
_pos_to_watch = [_a - _radius + random (_radius*2), _b - _radius + random (_radius*2), _c + _altitude - _radius + random (_radius*2)];
Also you are using the "AZP85" weapon inside the script, which means this will work only with ZSUs, you may provide the weapon as a parameter, this way your script will be able to work with any vehicle with a gun.
So should also provide a way to stop that scripted fire, for example, because the you need to change the assigned targets for the flak guns. The best way would be to conver the sqs code to sqf code, this way you may use "terminate" command to finish the current script and start a new one for the same vehicle but different target.