There is no dearth of keyboard apps on the Play Store, with each of them having their own unique feature and distinct advantage. This is what makes deciding upon a single keyboard for your day-to-day use tough. I personally prefer using SwiftKey in portrait mode, and the Google keyboard in landscape mode.
However, constantly switching keyboards can be quite a mundane task. In comes Keyboard Manager from developer ne0fhrk, which can automatically change the default keyboard depending on the orientation of the device. So, whenever I am using my device in portrait mode, I can use SwiftKey, but as soon as I change the orientation to landscape, I am greeted by the Google keyboard since it supports multi-touch swiping.
Keyboard Manager also offers the option to change the keyboard depending on the application opened. For example, you can have SwiftKey pop-up for one app, while the Google keyboard will pop-up for others. This functionality, however, is only available in the paid version of the app.
Keyboard Manager works with any keyboard that is installed and activated under the ‘Language and Keyboard’. The app can also kill the last used keyboard to save resources, if needed. Sadly, Keyboard Manager requires root access to work properly. There is a non-root version of the app, but it flashes the input toggle window for a second before the keyboard switch actually happens.
You can download the free version of Keyboard Manager, which requires root access from here, and the non-root version (paid) from here.