Perhaps select a random enemy from the wave at regular intervals to fire - more difficult waves mean shorter time between shots. Behaviour could be configurable per-wave:
No shooting.
Fire in random cardinal/ordinal direction.
Fire straight towards the left of the screen.
Fire multiple shots in defined patterns: cross, cross45deg, starburst, etc.
Fire towards the player's current position, with configurable accuracy / drift.
Fire shots that home in on the Y axis.
Fire towards the player's predicted position, based on movement vector, distance, etc.
They should.
Perhaps select a random enemy from the wave at regular intervals to fire - more difficult waves mean shorter time between shots. Behaviour could be configurable per-wave: