edit: Doh! Wandering Head beat me to it. So a lot of this is repeating what he stated.
I assume you are talking about playing as the WAllies in the Atlantic vs the Germans (playing as the Japanese against US subs is whole 'nother animal).
1) First of all, you have to accept that there are going to be Transport losses regardless of how much effort you put into stopping the submarines. So a good thing to do is to plan ahead and have some TRs in reserve for when you take the losses. If you wait until you are start to have holes in your TR net you are likely dead already.
2) Make sure to put max research points into ASW for at the very least Light Fleets, Heavy Bombers, and CAGs. This gives you 3 types of units to go hunting with and assures that you'll almost always have something close at hand to deal with subs. If you fall behind in research, you are going to get hurt badly. There is a fine balance between the ASW and German Sub EV and even a turn plus or minus can really make a difference.
3) If the enemy is leaving singleton subs at sea make sure you understand the rules on the bonus evasion for 'dispersal'. Basically you suffer a -3 penalty when attacking a lone non-phasing sub (and -2 for 2 subs etc, -1 for 3, and 0 for 4 or more). This is almost the equivalent of losing an attack die and makes it very hard for early ASW to overcome the mid-EV U-boats. However, if you attack the same sub more than once in a turn, it suffers the -1 EV for being previously attacked. And that cancels that -3 dispersal penalty. So you want to use your 'weaker' ASW units to get that first shot in (since all you are realistically looking for is to get that 'previously attacked' penalty on their EV). For example, if your CAGs are ASW 1 and your Bombers are ASW 2, use a CAG to attack a sub first, then send in the Bomber. This will drastically increase your chances of a kill.
4) Try to maintain aircraft ASW patrols in key areas that Uboats will have to pass through. You want to get the Op-fire on them if possible when they try to move through. This generally isnt too effective, but its possible to score a hit and its often a free shot. The downside here is that you'll likely have to keep some friendly Fighters on patrol too for protection (although that will vary based on enemy Fighter deployments).
There are probably other tips that I am forgetting at the moment, but that should be a good start for countering the Uboat threat.
Hope it helps!
< Message edited by Uncle_Joe -- 1/25/2007 9:06:48 AM >