First of all, your init system (systemd or whatever) will shutdown all known services. That includes the ganeti daemons but does not include the KVM/qemu processes. When systemd has stopped all configured/known services, it will attempt to kill and terminate all remaining processes. That will effectively hard-kill all running instances. It does not trigger a regular shutdown inside the instances.
The only way to gracefully shut down a kvm instance is to connect to its human monitor socket or the qmp socket and issue a shutdown command. That in turn will issue an ACPI power button event to the guest to which it has to react by itself.
Ganeti actually does the same on instance shutdown: let qemu issue the power button event and wait for up to 120 seconds (default timeout) for the instance process to terminate. If it does not, Ganeti will kill the qemu process.
In theory you could implement a systemd unit that runs a script on shutdown which discovers all running qemu processes, issues the shutdown command through either of the sockets and waits for the instances to turn off.
This script should run after the Ganeti processes have been shut down to avoid Ganeti re-starting the qemu processes.
Cheers
Rudi