(I'm on Linux, but there's a chap on Reddit this morning having exactly the same issue on Windows. Redshift loads fine in the GUI but not via hbatch. Thought I'd finally get round to asking for the canonical solution)
The houdini.env file is the place to set up $HSITE, playing with $PATH, stating the location of plugins like Redshift - at least as far as the full-blown GUI Houdini app is concerned.
But when HQueue asks a client to render something, any houdini.env file on the client's drive is ignored, it seems.
For the last few years I've resorted to stuffing my essential env vars into the end of $HFS/houdini_setup. It works but feels wrong.
Where are environment variables supposed to be defined on HQClients? I know you can add job-specific environment variables within the HQueue ROP in a project, but that seems inappropriate for variables that are static / sitewide, like $HSITE.
People running Redshift on an HQueue farm, where do you add your redshift folders to $PATH?