It sounds like what you're asking is a general question, "what is a good enemy movement pattern / AI for a shmup?" - a design question more than a programming one. There is no single right or wrong answer here. It all depends on your game and especially the design of your level environments. For example, in a level without much maneuverability and lots of tight spaces, enemies that just sit there and do nothing can make sufficiently challenging obstacles, while enemies that pass through walls and head directly to the player are just mean. In a wide-open space, enemies with no movement would be trivial to avoid (unless there's a lot of them!) while enemies that track the player movement might work better.
My advice would be, play a lot of shmups, but as you play, pay attention to enemy movement patterns in relation to level design, and also which levels feel fun versus too easy versus really frustrating. After awhile you will probably get a good feel for what kinds of common patterns there are, and what makes them good or bad. But there is no simple answer other than that, I don't think, if I understand your question correctly.