In this case Windows is the only sane choice (at least based on my experience from 2 years ago).
After a lot of reading random docs, I got to a point where I could stop the GPU from eating the battery doing nothing, but I could only disable/enable it by logging out then in. It was either no GPU at all or a GPU drawing maximum power, no in-between.
Maybe Nvidia's latest code releases will help with that?