Blending In Detail details an algorithm for combining two normal maps in a mathematically correct way. I've implemented it as a pigmentcms blending mode and it works pretty well as a blending mode for both layers and Wolthera's tangent normal brush. The implementation is pretty rough around the edges still--everything's in one method, I haven't done any profiling or SIMDization yet, the data are reshuffled rather than working in the colorspace's native format, I'm not 100% sure that blending works correctly in all cases etc. etc. but I need to go eat lunch so those enhancements will have to wait for a bit.
The blending mode currently enforces use in the RGB spaces, which I believe to be the correct behavior.