The problem is convoluted, I think.
One problem is that morally strong, mentally healthy people are extremely tough to write, without falling into a number of pitfalls. They easily come off as boring, since they don't really have meaningful conflict. Sure, you can say there's conflict, but if you know a character is strong enough to defeat it, it isn't meaningful, and thus boring. Another easy pitfall is that they become preachy. Various characters throughout Star Trek have this flaw in their writing. Finally, I also think that such traits actually dehumanize the characters when written poorly, making them harder to relate to and thus harder to like. Why? Because most people out there have issues. That doesn't mean they are morally bankrupt or mentally unstable, but no one is perfect.
Another problem is that of society, and this is two-fold. For one, people like to see a hero fail. It makes them feel better about their own inadequacies, perceived and/or real. For another, society, at least in the US, is a bit more cynical and a bit more accepting of people having issues. The internet has everyone communicating and sharing with relative anonymity, and what we're realizing is that these problems we think are unique aren't really uncommon at all. Even thirty years ago, problems like this would be swept under the rug, and it was strongly frowned upon to be talking about them. That's why OS-Starbuck is a perfect hero, and NS-Starbuck is so flawed as to barely be called a hero at all. Also, the increase in cynicism leads to an increase in snarkiness and sarcasm.
Third, a series needs to go somewhere. It needs movement, otherwise it stagnates. In a character driven drama, which I don't think you'd disagree BSG counts as, that movement has to be through the characters. A character who is morally and mentally strong and healthy doesn't have much room to grow at all. Thus, any time spent on that character is stagnating the show, because there's no growth in the character, no change. That quickly gets boring, and quickly loses viewers. Now, if NS-Starbuck grows into that hero, that's a lot more interesting that starting her off there; it's a sense of movement and growth.
Now, does this necessarily all need to be because of character flaws? Well, yes and no. it really boils down to the basic premise of the show. John Crichton on Farscape is a realtively unflawed character whose tension and growth come from other sources - being a fish out of water is the major one. This works because Farscape is not really, IMO, character driven drama - at least not nearly to the extent BSG is. Also, it works because of the premise - he's set up as not knowing anything, and being thrust into a new universe and sudden responsibility for it. Firefly is the same way - it works because Simon and to a lesser extent Book and Jayne are from different cultures than the rest of the crew, and that creates conflict. Again though, that's a function of a premise. The premise of BSG is that humans started off in a relatively equal setting; what cultural differences there are between the colonies are de-emphasized when they're discussed at all, setting them up as being minor. The vast majority of the crew is military. The conflict that arises with Baltar (as the traitor) and Rosalyn (as the civilian) works without being too character driven, because they have something to go against. Compare that to Tyrol, or Tigh, or Adama, or Starbuck, who don't have that.
All that said, I don't totally disagree with your gripe. Especially with BSG, it seems to be carried to an extreme, especially with Tigh and Starbuck. And the big conflict of military vs. civilian seems to get by far the most debate and discussion here on the boards. Certainly more than Tigh's alcoholism or Starbuck's general moral/mental suckiness. To cross shows again, Mal was one of the least interesting characters on Firefly, because the moral ambiguity tends to get old fast when there's other types of growth. Types which I don't think BSG explores enough, over these huge character flaws.