I had always hated predictive input, but SwiftKeyX does it very well. It has by far the most accurate predictions for my input, and it doesn't insert anything unless you tap on one of the offered words. You can use it or ignore it, without worrying about wrong words being inserted. It just offers words across the top of the keyboard which you can use if you like. IMO it's the best keyboard available.