From my experience with batch file scripting, if it exits even when you have a PAUSE that should be getting hit, it means there is an error that causes it to crash.
In this case I think it's a few syntax issues, as well as how you are setting the variable.
I played around and got this to work:
FOR /f "delims=" %%a in ('POWERCFG -GETACTIVESCHEME') DO @SET _CURRENT_POWER_SCHEME="%%a"
IF NOT %_CURRENT_POWER_SCHEME%=="Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)" POWERCFG -SETACTIVE "381b4222-f694-41f0-9685-ff5bb260df2e"
The "For /f..." line is usually the command I use to get the output of another command into a variable. It is normally for parsing through more complex responses, but it handles the -GETACTIVE command in this case. For more info on for loop syntax (or batch syntax in general): http://ss64.com/nt/for_f.html