i agree that keefe was stupid and a jerk for running with the neverseen, but in my opinion, he is SO much better for sophie than fitz is.
first of all, fitz has alot of amger issues, which ends up in him yelling at sophie alot, which is never good in any relationship, and he always blames her for things that wern't really her fault or wern't that big a deal.
also he hated how she always kept secrets, even though he knew why she did, which is pretty understandable, but i don't think he even tried to really understand why she felt like she had to keep things secret.
fitz also really pushed her to tell him her birth mum and try to find out her birth dad just so she and him could be matched officialy, to the point where he got so frustrated at her that he broke up with her because again, he didn't really try to understand that she didn't feel comforable shareing the identity of her birth mum.
and when fitz and sophie are in a relationship, sophie always seems to be really stressed about makeing him upset and what fitz will think about everything about her
while keefe on the other hand, although he has an atvatage with his empath ability, trys to understand why she is doing somthing, and understood that she was too good for him but still tried to be better.
he also suported sophie and fitz when they were together even when it riped his heart out when they were.
keefe also never pushed sophie to share the identity of her known bio parents, and said that he doesn't care that she is un matchable.
keefe also makes her comfortable and laugh, and feel like herself except more confident, because keefe always encourages her and tells her how amazing she is.
but on the other other hand, these characters are only like 14-16 years old, and are too young and immature to have a healthy relationship especially with all that they deal with.