Thank you for your suggestions, everyone! I took a few hours to experiment last night and I believe I have achieved a satisfactory solution, which I will now describe.
First, here are some comparison images. The ambient lighting conditions were not the same for before/after but it's close enough for comparison.
Beam pattern comparison against a wall:
The slight upwards misalignment of the right headlight on the before pic did not play a significant role.
Note how much light bleed-out there is outside the main beam on the before pic. This turned out to be the deciding factor in making the light traffic-friendly. As soon as I blocked off anything to the sides of the central beam, the blinding glare disappeared.
Comparison facing the bicycle, from roughly driver-height.
Comparison with car high beams.
Here you can see a modified light (picture left) together with an unmodified one.
http://i.imgur.com/yGKWM.jpg
My main inspiration was the Commuting forum post linked by no1mad, where someone had made a metal guard over his light. My metalworking skills and available tools are minimal, so I knew I had no chance of making anything presentable, so I went with the GhettoTech route of just throwing something together from things I had laying around.
Duct tape and beverage cans to the rescue!
http://i.imgur.com/6TPXJ.png
Originals.
http://i.imgur.com/Knpje.jpg
Modified.
http://i.imgur.com/NglbC.jpg
The cans and duct tape turned out to be surprisingly stiff. I was afraid they'd pop off when I went over the first bump but a 1-hour test ride on some bad roads resulted in no damage whatsoever.
I am very happy with the result. No more blinding light AND I get to keep my low-mounted lights that show me every little bump on the road. Perfect! Thank you for the help, everyone!
Some misc pics here, in case you're interested in my lighting setup.
http://i.imgur.com/rdcwv.jpg
Side view; with taillight also on; this is with pre-modification headlight.
http://i.imgur.com/kiSGx.jpg
Battery pack with 12V 9Ah lead-acid gel battery. No, it's not all full of battery

The battery and mounting takes up less than half that box, the rest is cargo space and taillight electronics/switch/wiring.
http://i.imgur.com/E8EE0.jpg
Control box on the stem. It is annoyingly big but I couldn't find a better box. The bar on top of the stem is my cant-turn-the-bike-upside-down-if-it-rests-on-the-light-switch-you-dubmbass adapter (a block of wood). You may also have noticed the empty speedo holder... since the headlight electronics are not shielded, the EM emissions completely block the wireless sensor signal, so the speedo is just a clock when the lights are on. I just took it off for now...