Kubernetes is definitely the technically correct solution. The only really hard part is getting started, but if you have a cloud service provider that runs a Kubernetes cluster for you then you don't need to worry about that. :P
I don't know if Kubernetes is more usable - it's a MONSTER to host yourself.
Other docker projects suffer from various levels of similar issues. Docker-machine is nice, but has a ton of rough edges, especially when spinning up host on AWS. It feels like the programmer(s) of machine never used AWS beyond the simplest use case.
Did you see https://github.com/kubernetes/minikube ?
Kubernetes isn't particularly hard to host.
Bootstrap etcd
start kubelet
place api, proxy, scheduler and controller definitions manifests folder.
If you're running infrastructure that deals with problems such as maintaining the health of applications then it's going to generally be a whole lot more complex than that.
These seem to be way more mature than Swarm.