If you're targeting big chinook salmon, 12lb test is possibly too light, especially if you're fishing fast deep runs. Try bumping up your mainline and leader strength by a few pounds, it might make a world of difference in turning a hot fish.
If that fails, the following may SOUND crazy, but I can guarantee it does work - I've tried it:
If a fish is running long and hard downriver, and you're worried (s)he's going to hit the tailout rapids and leave the run, and side pressure can't stop it, try freespooling your line. Upon doing this, the fish will stop feeling the pressure/tension of the line in its mouth, and often when the fish stops feeling pressure, it will slow/stop and turn back upriver.
I tried this for the first time after hooking a 40+ chinook near mid-river that going hellbent for Japan. If it left the run, it would be a lost cause, so I freespooled my baitcaster. Immediately I could see the rate of speed with which the line was leaving the reel slowed down, and finally stopped. All of the slack then began pulling from DOWNRIVER of the fish, and feeling this tension coming from downstream, the Chinook turned and began swimming back UPSTREAM! 10 seconds later, he was back in the run (I could see my line heading back up behind him), so I clicked the reel back into gear and tightened up to the fish. He was so tired by this point that it was a short battle after that, and I reeled him right into shore.
This isn't foolproof, and may not always work, but it's saved the day for me more than once.
Good luck!