1) If you fire at an empty space that's visible, but you'd potentially hit
an invisible guy on the way, you hit the empty space.
2) If you fire at a guy who's visible, but you'd potentially hit an
invisible guy on the way, you hit the invisible guy.
I think that covers most such situations, is easy to program, and fair and
easy to comprehend for the grognards.
Dave