Most of the time, branch prediction works great and it's a big chat optimization. If it fails, it is often of because the other person answered in a way, that my prepared sentence won't fit grammatically (I just edit it), or asked for clarification (I then CTRL+X my response for later reuse and write some clarification instead).
I think I've realized it when I started to extensively use Skype chat, which (as opposed to - for example - IRC) shows that a person is typing. When I'm asked a question and then I see that the other person is typing something, I wait with my answer, expecting a clarification or follow-up statement from the person I talk to. I guess others do that too, so I consciously avoid branch-prediction typing on Skype in order to actually get any answer from the other person.