Welcome to the forums! I love the deep questions you brought up -- what an awesome way to jump into the community. I've been thinking about them since yesterday, and while I still haven't boiled down my answers, I didn't want to wait TOO long before posting a welcome message I've PM'd a certain, thoughtful demon-lord named Harry_Kinomoto asking for his insights: he's a pretty smart guy, and always manages to be thought provoking.
Bad Endings -- Let me add one thought here. Some VNs (like Sharin no Kuni, or Fate/Stay Night) are written so the choices are based on the character/personality of the protagonist. Others, like Katawa Shoujo or G-Senjou no Maou are written with the expectation that the reader will "reflect" themselves onto the protagonist. This leads to interesting dilemmas: In the first kind of story, choosing actions that "fit in" with the protagonist's personality generally lead you to the main heroine's "true route". In the latter category, where the protagonist largely melts away and the reader is making the choices based on their own character, the choices are more clearly skewed to "Good" "Neutral" and "Bad", and you, the reader, have to choose what you want to happen.
A lot of VN readers are frustrated, like you, when they get bad endings. That's part of the reason walkthroughs are so popular. As for me (and probably stemming from my experiences writing interactive fiction), I can somehow always tell what response is the "most in tune" response to the protagonist's (or my own) personality. Like I said, those choices invariably lead to the "good" or "true" ends of the main heroine. Therefore, frustratingly, I've never gotten a bad ending in all my time of playing VNs (at least, not without purposefully seeking them out).
In any case, if it's frustrating you, I'd suggest playing a new game (with a walkthrough), and comparing the choices YOU'D have made (and where they go), with the choices the walkthrough says you should take if you want this ending, or that ending. Maybe by doing that, you can diagnose your own problem.
Thanks for such a great intro post! Welcome!