A possible solution is using drivers to achieve this. It has a limitation though. Essentially, in Edit Mode I was adding a Driver to the Tilt value of the handle which receives a hook modifier currently:

Drivers allow you to control a property by another one, either with simple mathematical equations like in this example, or with complex formulas. The magenta background tells you that a driver has been added, but so far it's not doing anything. Now, go to the Graph Editor, and switch it from F-Curve to Drivers. Click the Drivers tab, and set the following values:
- type: Sum Values (accidentally Maximum Values in my screenshot, apologies)
- object: name of your empty which acts as the hook
- type: X-Rotation
- Space Transform Space
What this means is, when you rotate your empty around the X-axis, the Tilt value of the curve will be rotated by the same amount.

The limitation is the alignment of the handles. While it works perfectly fine in one case, it can behave strange in the other. The reason for this becomes more clear in this Top View:

While the X-Axis of my Start Empty is nicely aligned with the curve handle, the End one is off. If you align them neatly with your curve handles before using them as a hook, making sure the X-Axis always points along the handle, or if you set everything up with a totally straight curve, this should work just fine.
I did that in this Blend:

Edit
Something was going wrong when setting up the drivers in the last Blend, the Tilt values were screwed up. Might have been a little glitch of RC 2.78. Anyways, I re-created the setup in Blender 2.77a. Here is a corrected version:
