I've had trouble with getting snipers to fire on units in the past as well. Basically, it seems that if he is further than about 200 meters away, he isn't that likely to shoot at the unit, even with reveal + dotarget + dofire + perfect visibility. I believe this is mainly a problem with the unit's config, since, as I'm sure you've noticed, the AI can't see very well past a couple hundred yards. When playing the game with a game config that sets the AI viewdistance to something more realistic, things are much different, with snipers as well as everyone else.