As with so much in The Kite Runner, Baba is complex. Being "good" or "bad" is reductive, and one of the statements that the book makes is how reductive elements to consciousness might not be entirely accurate. Certainly, Baba can be seen as generous, larger than life, and willing to help others out who are in need. Yet, he has shortcomings. He is unable to emotionally accept Amir in Afghanistan. He has fathered another child in Hassan, and Baba did not demonstrate himself to be accepting and entirely tolerant while in Afghanistan. Yet, at the same time, when Baba comes to America, he sacrifices for his son. He works long hours at his old age so that Amir can benefit. He does demonstrate a sense of humility and shedding of his ego when he is in America. He does end up accepting his son when he presents him to the Taheri family as a prospective son. In this, one can see where the complexities of Baba's character lies.
Certainly, when we look at characters that lack redemption, our immediate attention turns to Assef. Baba is not that. He is not even close to such a level. Baba is not evil in any ways. He is a good person who has made some questionable choices. His "goodness" might not be immediate present and his lack of "goodness" might not be as evident. We understand Baba to be human, capable of both good and bad, but with a penchant more towards the former than the latter.