I'd suggest either SwiftKey or GBoard (prefer the first since it works best for me on multiple languages and emoji predictions), but this is an almost impossible question to answer: there's always something that will be missing for YOU or that another app had and you got used to. Until you use it and become acostumed to it, it'll be hard to 'pick a winner'.