One deal-killer for me in your technique is your very first step: stop the boat. In real life you couldn't do that. Even on the surface, stopping loses all directional control of the sub. Under water it is even worse, as all depth-keeping and directional control are lost. Your entire technique relies on defects in the game physics model. Other than that, it's bulletproof!
You know, there is no reason you have to stop your sub. Just throttle down to about a knot or a half a knot to begin with. Turn on the PK as you enter your parameters and use the present AoB of the target for this part. Calculate the AoB in your way for your intended shoot bearing for later. This will actually allow you use the attack screen to check your inputs of speed and target course for accuracy as the target cruises down the line. When the target is 5 or 10 degrees before the shoot bearing, turn off the PK, enter the AoB for the shoot bearing, sight on that bearing, press send range/bearing and just wait a few seconds for the target to pass through the crosshairs, shooting as juicy parts are in the sights. Your resulting dozen yards or so of range error won't mean a thing (range cancels out of any constant bearing attack anyway and is only important for correcting parallax errors with increasing gyro angles on the torpedoes).
NOW you have a realistic shooting technique!
Nisgeis is now going to jump on the thread with his method of vector analysis to do the whole shebang in seconds and you could shoot at full throttle if you wanted to. THEN you can throw the whole TDC overboard, as all it is is ballast!