You can create a unit with the same model as the desired special effect, which is whole a "bone" named "head". Then all you have to do is just to lock it's body-part "head":
^
L___->
0---------> In trigonometry, you have to do the following: every x time, set Angle=Angle+x, set Radius=2, Distance from lock-body-part target to the effect is Radius * cos of Angle, the height of lock-body-part target will be Radius * sin of Angle.
What you do is that you create a dummy unit, place it in front of sfx, polar-offset by Radius*cos(Angle) towards the facing angle of sfx, and do Animation - Lock sfx's head to face dummy unit, offset by (0, 0, Radius*sin(Angle))
This wasy has to do a lot with modeling.