I played on public when it was out, and I gotta say for most of it looking back I don't have too much to complain about, but there was 3 points that really got to me that needs addressing and a couple addendums.
1) The bobbing or 6m/5m exploit around ASW and surface HE attacks against subs. This has to go somehow. I have thought about alot of options, but I only really had one idea but it would drastically change the gameplay so I am not sure. The thought was to have the depth controlled like the throttle, having set depths of Surface, Shallow, Operating and Deep. While shifting depths, the action would have a slight delay and torpedoes could not be launched until it evened out, a bit after reaching it. It would slow the process and open up more of a window of threat for the sub. As it stands with the bobbing the threat is only how fast you can react, and there is little prediction that can be done like against other ships with steering/movement where you can normally guess the shots. The fixed depths and slower depth changes would also be nice to force the surface level to be more visible, as the periscope running makes it almost as safe as underwater half the time and the quick bobbing to dodge shots is more frustrating to try to hit. To say nothing of the magical 0 damage ASW Depth Charges at 5m. Those things should hit surface ships, even if its for some light damage, the 0 damage is dumb, as I'm sure many have noted.
2) The battery purpose. I can get around the unlimited oxygen in this game, but the Battery should be needed to launch torpedoes and run above 1/4 throttle underwater. Once your out of power you should not be able to run as efficiently underwater or launch torpedoes. I had too many games where I could be at my last breath, run out of all power for a while then just randomly pop a torpedo while maneuvering at full tilt before charging for a last strike to one-up who was chasing me. Or have the inverse happen, it does not lend itself to a rewarding or tactical feel in the battle. You should need to plan the power drain more, without that it is just a nuisance for the homing attacks or not than something of importance. Almost should just get rid of it otherwise.
3) Carriers need ASW. I cannot remember who to credit, but the thought was a timed consumable ASW drop, like a fighter screen. The idea being to summon an ASW craft that can spot and attack subs in an area for a period of time. Either make it incredibly deadly with limited use, or just have it as a spotter with light or moderate damage with repeated uses, like a recovery charge similar to aircraft recovery on CVs now after you use them. Or a new fighter squadron for ASW for them. Either way, the current dynamic is heavily on Destroyers and Light Cruisers to handle Subs, and it would go a long way in splitting the load to have Carriers pull some of the wight too, not to mention it was a carrier's job for it. A minor gripe with this would be that air detectibility of Subs should be higher when they are shallow and still be spottable at operating depth, only really invisible at the deep depths. It was one thing Carriers did with spotting patrols after all, having the Subs just be able to hide anytime only adds to the frustration I found.
Other than that, I can't find much else to argue over on them. They seem fine in other gameplay, but did feel a bit ridiculous to have 3 or I think the rare 4 Subs in a match. If they were like carriers and only 1 or 2 it would add more dynamic to it than just remove targets for other surface ships. Some of the best games were the 1 or 2 Subs per team matches. It was more of a guess what to focus on, and the risk felt better balanced with how the teams managed or exploited it. With 3 Subs the pack damage could be exploited to a ridiculous level and it drew too much from targets that heavy Cruisers and Battleships could deal with, leaving them in a totally unfair situation once the ASW was knocked out, which was easier to do with less ships that could have it.
The only last thing might be an AI issue. You gotta do something to have the AI stop firing at Subs they cannot damage. Too many times I was in matches with AI that were firing at a sub deeper than 6m where the shells cannot deal damage, completely ignoring other ships that threaten them. Its quite exploitable and annoying when you try to run by in say a Destroyer to drop ASW and be killed by an AI teammate that broadsided you from across the map.