We battled swap vs. reservations for a long time. Finally, we just presented a shared Thin (as in "thin-provisioned on the array") Tier-2 (slower, cheaper disk) LUN on our EMC VNX array to every host and told the hosts to use this shared datastore as their swap location. (CRITICAL NOTE - We do not oversubscribe our clusters, so there is no chance of RAM coming up short and swapping actually happening, and just to be sure we set major alarms in the event that some swapping does occur.)
The LUN should be equal in size to the amount of RAM in your cluster (i.e. the max amount of vswp space required if zero reservations are set on all VMs).
Because of VAAI, at VM Power Up, the host will just ask the array to set aside a vswp file equal to the amount of un-reserved RAM on the VM, and the array will confirm that this is actually complete, though the actual blocks on the array are not filled in, which means that the LUN isn't inflating.
Results: Each 2 TB Thin "swap" LUN on the array is using about 10 GB of space to support a full 16-node cluster, and none of our T0/T1/T2 production disk is going to waste to support vswp files that will never be used. (i.e. Net savings: ~2TB per cluster)
I'm not sure if these specifics all fit your environment, but the concept is hopefully broad enough to be helpful.