ddip-
Keep the default depth settings for your torpedoes. The game has a variability factor built-in regarding the actual running depth of your fish as, historically, they ran deeper than set. They rarely (if ever) run at their set depth.
It's extremely difficult to get a good magnetic detonation on a target due to that reason. I go for contact shots only in SH4.
I'd also suggest having show contacts on map turned on so you can use the 3 minute rule to measure the target's speed more easily. I used that if given enough time but if I need a quicker shot I use the method of measuring the time it takes the ship to travel it's own length and do the math with calculator in hand.
That being said, I get ususally get good estimates from the built-in system as long as I'm confident in my range (and the first AoB measurement) between the two points I'm timing.