We have a strange use-case. I think it is worth bearing in mind that vSphere is really designed around high availability of data centres that need to be running 24/7. Our systems however need to be powered off and on possibly on a daily basis. To do this whilst retaining a certain level of turn-key operation was quite a challenge where we needed VMs to restart automatically, but also needed the hosts to be clustered.
Putting some script into local.sh was the method we discovered and developed first. If there was a better way, believe me it would be preferable. Extending the capabilities of the HA agents on the hosts to restart VMs on host power-up if the VM is found running elsewhere in the cluster would be a very useful technique for systems that have a regular power cycle requirement.