I'll answer your missile question first: You have to be in the target's 120° rear arc. So as a rule of thumb: If a target can hit you with its aft turret, you can fire an HS missile at it.
Don't worry about ghost ships, then. It's only relevant for debugging, anyway... However, you could implement a "tracking" function which logs every ship's current coordinates and heading in each turn. That way, we might be able to generate animated replays of the battle. Again, somewhere down the line...
Now for the "fun" part - flak cannons. Two ideas came to my mind when I read your thoughts. I'll start with the clunkier solution, followed by what I'd like better. (You'll have to judge whether any of it is feasible at all.)
a) When ordering a flak cannon to fire, four buttons (left, right, up, down) and possibly two textfields (X coord, Y coord) pop up instead of the "target selector" drop-down menu. It's probably best to show a flak marker on top of your own ship. You could then enter any coordinates or click on the buttons until the flak symbol appears where you want it. (Since the flak range is currently 10 hexes, you'd have coordinates of -10 to 10, with the firing ship centered.) As soon as you click on "Fire," you're set.
b) Instead of buttons and textfields, the firing order window closes, and the targetable hexes around your ship get illuminated (e.g. half-transparent layer in green). If you click on one of the illuminated hexes, this is where your flak fire will go (as soon as you click "Fire" in the reappearing window). If you click outside of the flak's range, you'll just get back to the orders window without the opportunity to fire. (I guess that's along the lines of what you had in mind with the new module...)
Since ships usually tend to have more than one flak cannon, both solutions can become a chore, though...
Oh, and yes - no "start charging" command for capship guns needed.