Hannah is made to be the well-adjusted female version of season-1 Chuck—funny, charming, nerdy, sweet, innocent, open-hearted, loving, trusting, bright, looking for a real relationship. All the positives that Chuck had in season 1 but without the negatives (neuroses, self mistrust, and self loathing). So, in a sense, yes, she is perfect for Chuck because she is Chuck, a well-adjusted female Chuck. Down to her job as a grossly overqualified nerd herder. Just like Chuck because she is Chuck. That’s the reason Morgan immediately falls in love with her.
The way Chuck handles Hannah is hurtful because, during his douche spy phase (3.05-08), he treats her in a way that Sarah was unable to with season-1 Chuck, and he does so to the best version of himself in the form of Hannah. Being honest with Hannah (himself) at the end of 3.08 Fake Name is the first step on his path of redemption (3.09-12).
But in truth, Chuck and Sarah are perfect for each other because they are different, because they don’t just mirror each other, like Chuck and Hannah, but complete each other; Sarah models competence for Chuck and encourages him from the very beginning to overcome his self mistrust and to see himself as the hero he is. And Chuck models innocence and vulnerability for Sarah, awakens her sense of reality vs appearance, challenges her moral imagination, and inspires her to turn from “nothing but a spy” into a woman who allows herself to love and be loved.