I think he is "too good to be true," but that decision was a conscious one for the author. Amir, the protagonist, is hard to like or admire for a good part of the novel, so his redemption in the end is all the more satisfying as it is played against the incredibly loyalty of Hassan. That Amir's redemption comes through the act of saving Hassan's son is a neatly tied-in story line -- especially in that Amir must once again confront Yussef, the bully from the street in their childhood. While all these events may be a little too tidy for some, the conflicts and themes are relevent to most readers in some way.
When I first read The Kite Runner, my impression was that Hassan was an unrealistic, one-dimensional character. But after reading the novel several times (I teach it; so I have reread it a lot!), I've come to appreciate his character more. One of the reasons for that is that Hosseini stylistically plays around with cliches. Amir mentions that Afghans love cliches and that they like the Hindi movies where the ending is known ahead of time and where the storylines are often similar to one another. I think that Hosseini subtly and purposely weaves in his own cliche (or "stock") characters. This is perhaps one of the reasons that the novel was and is so popular. If you think about other classics such as Of Mice and Men or The Scarlet Letter, one of the reasons those books are timeless is because they present themes and archetypes that most readers are familiar with and combine them with interesting plots. The Kite Runner is the same in that aspect. Hosseini uses a flawed hero (similar to Shakespeare's tragic heroes), a loyal companion, a distant father, a wise confidant, a "princess" wife, and a malevolent villain to draw his readers into familiar territory but then sets his story in a very unfamiliar culture and location. By doing so, he creates interest in his homeland, while at the same time discussing universal truths.
One of the other reasons Hassan works as a character for me is that his willingness to forgive and to go on with life fits what life has been like for the Hazaras in Afghanistan. They really have had no choice to hold grudges or to speak their minds. As a servant in Baba's home, Hassan would never have lashed out against Amir or Baba. He had been conditioned that that was not something a Hazara could do. As he matured, Hassan most likely had bitter thoughts toward Amir but still was not in a place to voice those thoughts or to dwell on them. He was too busy trying to provide safety and necessities for his family. In this aspect, I think that he is a realistic character.
It's very intersting that you raise this issue, because I, too, found myself thinking the same thing. However, I'd like to believe that Hassan really was that loyal to Amir, and that people like him really do exist. (I believe they do.) I think that Hosseini chose to creat Hassan's character in this way to show Amir as a complete foil--for I think his character is a bit extreme too. Nevertheless, this is one of the most powerful novels I've ever read, and I think Hosseini's character construction is the reason.
While reading the story, I had a problem with that, too. Hassan grows up 'under the same roof' as Amir, is his best friend, but the two boys are not equals. Amir snobs him in several ways. It is quite normal that Amir enjoys more physical luxuries than Hassan for after all, it is a question of social class and wealth. However, Amir shuns Hassan when certain friends of his come to visit whereas he could have invited him to join in their games as well. He is often rude to Hassan - for example when he splatters him with rotten pomegranates without provocation. Hassan doesn't even defend himself; he just squashes another one against his forehead, saying, "Now are you satisfied?" After his rape, Hassan doesn't even mention to Amir what he endured, nor does he ask him why he didn't come to his aid. Then when Amir stuffs money under Hassan's mattress to make it look as if he had taken it, he doesn't protest, insisting on his innocence,either. Instead, his father Ali and he just pack up and go away.
Although I really did enjoy this novel, I had problems with Hassan always playing the Johnny-be-good martyr type to the point of being factice. I would have thrown a few flaws into his character profile, just to make him human.