There is no way to patch a host with running VMs on it, so if those VMs can't vMotion then you'll need to power them off and migrate them.
As for automatically updating, you could modify the script i posted on my blog here and schedule the patching... and once the hosts that do not have VMs that can't migrate are done, you can manually migrate them off, and then patch the remaining hosts. That's what I do when I need to patch my environment as we have VMs with RDMs that cannot vMotion.
http://www.thelowercasew.com/patching-vmware-esxi-hosts-via-powercli
Hope this helps.
Ben Liebowitz, VCP
vExpert 2015, 2016, & 2017
If you found my post helpful, please mark it as helpful or answered to award points.