I just keep my KeePass database synced in $generic_cloud_storage. Since the database is encrypted and decrypted on the client side using a password and a key file, and I'm not keeping the key file synced (I copy it manually to my devices), I haven't found it to be an issue to keep the database in cloud storage even though I obviously wouldn't trust the provider with my cleartext passwords.
I had so many issues with this, it feels like you have to keep track of whret you do changes and when it has synced it. Otherwise it won't merge and you will have to do it manually.
Honestly, I think I had syncing conflicts maybe once or twice, and even then the merge feature worked without any hiccup.
Maybe it does help the fact that I have my NAS always online, and I treat my mobile devices mostly as "read-only" - i.e, if I have to create a new password it will almost surely be on my desktop / laptop.
Manual: All clients I've seen have the capability to merge databases. So you have one copy of the database in whatever online file storage service, plus each device will have its own local copy. Pull down the online db, do a bidirectional sync between the two databases, push back online.
Automatic: some clients natively support webdav, dropbox, etc as the master copy of the db file and will transparently do the change syncing for you.
Basically any file sync client. Just keep the keepass database in the folder that gets autosync'd and sync the folder to each device you need keepass on