You can script AI to shoot while moving by using UseWeapon command. Attached is a sample mission with a script called shootAndMove.sqf.
The core part of the script that controls shooting and moving is this:
while { alive _foe and (_count < 25) and (_shooter distance _foe) > 10 and alive _shooter} do
{
_shooter reveal _foe;
_shooter dotarget _foe;
sleep (_delay + .3);
// move and shoot occurs here
_shooter playmove _move;
sleep (_delay + ((random 3) * .2));
_gameLogic action ["useWeapon",_shooter,_shooter,0];
//_shooter dotarget _foe;
sleep (_delay + ((random 4) * .2));
_gameLogic action ["useWeapon",_shooter,_shooter,0];
sleep (_delay + ((random 3) * .2));
_gameLogic action ["useWeapon",_shooter,_shooter,0];
_count = _count + 1;
};