I found out there is indeed a ship cap limit when it comes to battles. It was right in front of me the whole time. When you choose to do battle with an enemy fleet and you select your ships it shows that you can only have X out of 10 ships, even if you own 20.
I've found that when engaging enemy fleets that have 1 or more submarines, I send my destroyer group off to the side so they aren't taken out by enemy ships. Enemy cruisers and battleships will tear them apart in a matter of seconds. So I let the battleships and battlecruisers occupy the enemy surface ships, then I send in my destroyers against the submarines usually 2 at a time per sub. I manually pilot one destroyer and try to get close enough to launch the depth charges. Then I drive around in a circle next to the sub, while my charges recharge.
If my first destroyer is taken out, I immediately jump to the second one which should be very close, if not engaged with said submarine already. You have to zig-zag a lot to avoid the torpedoes. I try to angle my ship at a 30 to 45 degree angle in front of the enemy sub.
Once it launches a salvo of fish I immediately turn into the oncoming torpedoes making my ship a very narrow target that the torpedoes will hopefully miss. They really can be a fleet killer if they stay submerged and aren't delt with, but as soon as they surface, your cruisers can take them out from long range.
I suggest getting crusiers or heavy/battlecruisers and battle ships, along with a few destroyers. The Hood-class' are expensive but they are almost as tough as a battleship and have awesome firepower. I currently use two of them along with a Queen Elizabeth-class and Iowa-class battleships. Destroyers fill out the rest of the spots.
With this setup you can take on multiple cruisers and destroyers, and a battleship or two at the same time, while having destroyers ready to pounce on lone destroyers, subs, or cargo ships. You should pull your forces back until you can get your battleships and cruisers on the front line so that they take the brunt of the attack.
If a cruiser, battleship, or carrier gets near 50% health I strongly suggest retreating it ASAP. If you have too, do a full retreat and take the damage. Then steam to the nearest friendly port and get repairs. Destroyers can be salvaged for 1.7 mil which is cheap. But battleships can cost 17+ mil to replace if they are destroyed. Trust me, you don't want to have to drop that kind of dosh because you were too stubborn to leave a fight.
Anyways, that's all I have for right now. Thought I'd share some tips I picked up along the way that make engaging almost any fleet a very good chance of success. In this case, bigger is better! When you have firepower like this you can roam the seas sinking ship after ship and acquire large amounts of war bonds. Just remember to not let any of your bigger ships get destroyed.