Well... the best way to predict text messages is to read lots and lots of text messages.
The difference is that predicting the next word in a text message can be validated without direct human intervention. It takes a human to tell whether Siri interpreted the voice command correctly. It just takes more data to evaluate next-word predictive systems.