I've seen unofficial explanations in the Trek Tech forum (which, incidentally, is probably where this thread should be) that try to explain it. One that I've seen recently that's being used in Praetor's history of the Excelsior class (http://www.trekbbs.com/showthread.php?t=86430&page=5
) is that the Connies were essentially fazed out because of negotiations with the Klingons. Basically, the terms would have either limited the total amount of heavy cruisers or would have eliminated purpose-built warships altogether and left the heavy cruisers/explorers to fill the primary defense role. In either case, it would serve to explain why Excelsiors entirely supplanted the Constitutions, as they were much more powerful and up-to-date than the aging Constitution-Class. The Mirandas, on the other hand, would have been exempt and thus would have become more prolific during this period in order to pick up the slack. I don't know who came up with these theories originally, so I just want to clarify that they aren't mine originally, I just think they're highly plausible as a lore explanation.
I still have some questions (lorewise, of course) as to why there were so many Mirandas active at a later date. Their heavy presence during the Dominion War can be explained as reactivating old vessels that were on reserve, but some other lore explanation is necessary to explain just how they remained viable up through TNG without being supplanted by a more modern class. I'm sure somebody has come up with explanations before, I just can't remember them.