If your torpedo arrives late it's because you have the speed wrong. The "Fast 90" method is (pardon my language) crap. The only advantage it has is that it is "more historically accurate."
Try
http://www.subsim.com/radioroom/showthread.php?t=88961 to start. Once you have that method down, you can retry the fast 90 method.
Get closer to the target.
Fire salvos.