@Dan
There are two suggestions I can make. The first one is easier, but I don't know if it will work. The second is more complicated, but I think it might work.
1: Check the behaviour of the unit, if not SAFE, then setunitpos UP, ex:
#Loop
?behaviour UNIT != "SAFE": UNIT Setunitpos "UP"; exit
~.5
goto "Loop"
2:
Make a trigger area that covers the whole map and make it EnemyToUNIT present. ie, if UNIT is west, make the trigger east present, if UNIT is east then west present
then, in the trigger's condition field type:
{UNIT knowsabout _x >=.15} foreach thislist
On Activation:
UNIT SetUnitPos "UP"
UNIT is the name of the soldier in question.
Syntax not guarenteed.
-Student Pilot