The sneak attack rules we have always played with are this:
The sub can declare it’s target
A hit of 2 is an automatic sink except against a battleship, where it damagers it to the point that it does not participate in the first round.
A hit of 1 sinks everything, including a battleship. A hit of 1 will also hit a carrier before the fighters launch and the fighters go down with the ship. We made that ‘1’ real important. We usually don’t risk it, but you’d be surprised the number of times it’s worked and changed the whole war.
One… too powerful for subs.
Two… House Rules section for further discussion.