It might be better to use 'every X milliseconds' with a random interval, or even a constant interval (eg. every 500 ms). The way you've done it there it chooses a random number every frame. So if someone's computer is slow and running at half the framerate, the enemies fire half as often, but would keep moving at the same speed (see TimeDelta).
This is another reason to post your own answer: you might not have done the best thing!