I would not use a weapon. Instead, you could use a comination effects
A unit purchases a weapon.
You apply a persistent effect corrosponding to that weapon. The period durations should be the weapon cooldown, and it should just have 65535 periods. As a periodic validator, you check that the unit still have the weapon.
This persistent then call a search area effect, which finds an enemy, and calls a launch missile effect which on impact, calls a damage effect.
I haven't tested it, but I belive it should work (except adding multiple weapons of the same type might be problematic if you will be able to remove them again).
Otherwise, you could scrap the persistent, and use a trigger instead to apply the search area effect.
There is also another way depending on your controls.
If you are using standard starcraft2 controls then SBeier's reply is probably best suited. But, if you are using wasd controls, flag your unit as unselectable. This way you arent able to give the unit a command based on its abilities data. This ofcourse only works if you dont mind setting up your units abilities and such with triggers.