Generally what I did was use the deck gun if it was dark/foggy exclusively, to save torpedoes.
As a finisher, if the ship is on fire, but still moving, probably a good idea to dump a few shells into it. A lot of times ships appear to take juuuust enough damage to still stay afloat, and even one more torpedo is kind of overkill.
I don't know if hit location means anything. I have fired dozens of rounds below the waterline with no apparent effect; other times I fired ONE shot below the waterline and the ship blew in two