Well, the yeerk command structure always struck me as reminiscint of Soviet command structures. I mean, there were even generals who commanded while under yet to be carried out death sentences (visser 1 and 3, anyone?), and they took the term getting fired quite literally. It made for plenty of problems for certain, and made an extremely rigid military, but it did function.
It's really hard to trace how the war was going, but I'll try. Andalite Chronicals and the opening of Visser were roughly at the same time. In both of those I get the impression the war was at a stalemate at that point. Elfangor mentioned that the andalite people thought they were winning, but they were wrong, while Visser mentions needing the hosts to gain the advantage, without seeming to think they needed them to survive. So at that point it seems they were at a stalemate, and the yeerks were under the impression that the deciding factor would be whether or not they could get more hosts.
At the beginning of the series, the andalites only expected a pool ship at Earth, and they had only sent 1 dome ship to stop the entire invasion of Earth. It didn't appear unusual for the yeerks not to have a battleship in the invasion, and the andalites thought a single dome ship could stop the invasion, the capitals ships would appear to be powerful and few and far between. Since the andalites didn't send any form of capital ship to stop the yeerks in HBC, it would support that the capital ships were both very powerful and very rare (the blade ship in HBC anniliated the andalites.)
Leera, to me, seemed more about denying the andalites a resource that could detect any yeerk infiltration, rather than something the yeerks could use in the war. But the yeerks did have a significant ground force present on the planet when the continent was destroyed, which would have to had hurt them more than not getting leeran hosts. Considering that the andalites didn't think they could win that fight with normal tactics and having more firepower, it suggests at least at the begginning of that battle, the yeerks could at least mass more forces than the andalites (which they then lost).
So to recap, a single capital ship was very powerful, neither side had too many of them, and the yeerks must have lost significant ground forces at least on Leera (maybe ships if they were on the ground or near it).
Toward the end of Visser, the yeerks seemed much more desperate for hosts. It would fit with the yeerks losing a significant number of people on Leera. Then the council told the vissers that the andalites had prepared a fleet of 20 domeships. It was pretty clear the yeerks didn't have the ships to defeat that. They directed visser 1 to set up an ambush at Anati to destroy them. That failed, and visser 1 was going to be executed for it. From a communication from the andalites, the andalites at least believed the yeerks had become desperate and put everything into Earth at that point. The andalites knew the yeerks didn't have the combat power to stop their fleet when they attacked at that point, so enough domeships must have survived to destroy the entire yeerk fleet.
I agree the end seemed to come a bit suddenly, at Leera the andalites were on the defensive then Visser the yeerks are about to get the butts kicked with nothing in between, but it does fit that at least the major war could be over at Earth.