This is a great question. I hadn't thought of asking this. To be honest, I am not a big fan of David. Although we can obviously sympathise with his position, and the way that the story is told from his perspective helps us do this, he shows himself to be a very passive character, depending upon others to lead him and tell him what to do. He is not the leader of the telepaths, and he is saved more by Rosalind and her preparations than anything he is able to do. He is always guided by Michael and others, and his few attempts to achieve bravery are not successful, such as when he independently tries to double back and rescue Rosalind and Petra from his uncle.
However, if we consider Sophie, I think the reader feels much more sympathy for her and her position than we do for David. In addition, the way that she has managed to carve out a life for herself is very impressive. It is clear from the way that she calmly insists that she must commit the murder necessary to save Rosalind and Petra that she has grown up and matured a lot as a result of the harshness of the Waknukians. The way that she holds true to her love of the spiderman, even in the face of the disgust of David and Rosalind, likewise shows her ability to look beyond appearances. Although she is not a major character, I certainly believe that Sophie is the more admirable.