I'm really not sure I understand what you're trying to say, Octo. Sneak attacks is 100% an advantage. Anything you kill during the opening fire round does not get to fire back.
I think you're confusing the rules - you think that the cause of battleships not firing back is because the sub kills it, which isn't the primary reason. It's because the battleship died during the opening fire step, in which step it does not have an attack. It is then not alive during the normal firing step to do any sort of return fire.
Your example of the destroyer and sub versus the battleship makes little sense to me. You say that you should get to choose the order of attacks, because if you have the destroyer hit first then the sub would kill the battleship before it gets to fire. Well, the destroyer can't really hit first against the battleship - they both fire at the same time. No matter how you did the order, the battleship would get to fire back unless they were both subs because destroyers and battleships share the same firing step.
I don't see how subs' sneak attack defeats the purpose of subs. It makes 100% perfect sense to me the way it's stated in the rules.
Does this mean the difference between the battleship returning fire and not returning fire is based entirely upon what ship scores the killing blow?
In a twisted sense yes, because if your subs didn't sink the battleships then obviously there's a chance for your normal ships to kill the battleships, but you're confusing correlation with causation. It's better to look at it just like the rules state:
1. Opening fire steps. Units with opening fire roll here and now. Casualties are removed before the normal firing stage.
2. Normal fire. The rest of the units do their normal rolls. Destroyers/battleships that are alive both fire at the same time (we just roll for attackers first for convention's sake, but defenders get to roll even if they were chosen as casualties).
The way you look at it is very strange - you think you should be able to assign both the destroyer AND sub hits before the battleship even gets to roll back, when in reality the destroyer and battleship fire in the same step as long as they're alive.