I'm also using Arch and had the same problem a few weeks ago. I'm not a expert but I'd like to share what I did to turn it off.
I searched the internet for some solution and I read from one article I found (can't remember the URL) that bbswitch somehow fails to unload the nvidia module after activating the nvidia gpu when using optirun or primusrun.
In my case, from a fresh reboot of my laptop, nvidia gpu is powered down (which is what I'm expecting). Then if I run the command:
$ lsmod | grep nvidia
It returns nothing. But if I use optirun or primusrun, then run the above command again, I get the following:
nvidia_modeset 708608 0
nvidia 8704000 1 nvidia_modeset
drm 286720 7 i915,drm_kms_helper,nvidia
And if I run a command to check if the nvidia gpu is turn on using the command below:
$ cat /proc/acpi/bbswitch
It tells me that the nvidia gpu is is ON even though I'm done using optirun or primusrun.
To turn the nvidia gpu OFF, do the following:
Unload the nvidia module.
# modprobe -r nvidia_modeset
Then turn off nvidia gpu.
# tee /proc/acpi/bbswitch <<< OFF