I always wanted to have a way to stay connected reliably without having to use shell IRC or bouncers, etc. To this end there is Quassel IRC. It consists of a CORE part that you host on your computer or server. The core stays connected to all your channels and keeps channel logs and your presence. Quassel Client is what you use to connect to the core. It exists for Linux, Windows, Android and MacOSX. You can be connected simultaneously from several devices and it is very resilient to network issues, which is great if you're on mobile networks.
For a list of common IRC clients, have a look at Btrfs/IRC