This is a frustrating one. The best method I have found is to give the unit a specific location a long way in front of it to watch. Something like:
unitname doWatch [(getPos unitname select 0) + 500*sin(getDir unitName),(getPos unitname select 1) + 500*cos(getDir unitName),0]
Or some such.
If you know exactly where the unit will be then find an object on the map that is a long way infront of it and do a:
unitname doWatch (object XXXX)
Where XXXX is the object ID you can get from the editor.