DRS Rules mean nothing if the DRS is set to Manual. If you set the host/VM affinity in the Rules and set DRS to Fully Automatic, then the VMs will be powered up on their assigned host (if available) and powered up on available host if required, if the rules are set as a "Should" rather than "Must". Users may be a little slow when there's a host failure, but that's better than having nothing at all. Also, I'm guessing HA is set to manual or these VMs will start on an available host when there's a host failure since DRS is set to Manual. Also, using the rules and DRS Fully Automated means that if someone goofs and moves things around, the rules will be adhered to at all costs.
It seems there's a general lack of understanding on the management company's part of how DRS works, which I've come crossed many times, especially when dealing with Citrix admins because things don't exist that way in their world.
Another question, why the heck do they have to bounce their VDA's nightly? That sounds like covering for a larger problem. Either way, the "solution" to your original issue boils down to setting up the DRS Rules properly then enabling DRS to run Fully Automated so the rules are followed. That and some education on the management company's part about DRS.
Setting this up is really easy. You create a host group, call it HostGroup1. Then add the first host into that group. You need to have both host and VM groups for this. Then create a VM Group and call it something like VDAGroup1. Then create a DRS Rule of type "Virtual Machines to Hosts". Select your Host Group and VM Group and change the rule type to "Should Run on Hosts in Group" to allow the VMs to run on other hosts ONLY when the assigned host (host in HostGroup1) has failed, otherwise run exclusively on the assigned host. You can set this to "Must Run on Hosts in Group" but you loose any failover capabilities in the event of a host failure. Remember, when a VM is powered on, any assigned DRS rules are honored at Poweron, they don't go to a random host (exceptions already noted) then get migrated.