I asked the same questions, myself. She is incredibly naive, to say the least.
To be fair, what did David do directly to Shaw that she'd be aware of? He kills Charlie behind her back. He never confesses to the murder of Shaw's husband, and she never accuses him of it. We don't know for sure if he antagonized the last Engineer or not, so she can't blame him for that one. AND, and he notifies her of the same Engineer, who is coming to get her. He saves her life, and gives her a reason to keep living.