I was repeatedly reading questions how to combine two normal maps and was stumbling myself over the need to blend two normal maps with a mask texture. So I created a node group to do that and want to share it with you guys. You can download the blend file for free on Gumroad:
https://gum.co/iETtR
The node has two inputs for an RGB texture map where you connect your base normal texture and another normal texture (e.g. detail texture) which you want to blend into the base normal texture. The blend mask input accepts rgb/grayscale to control how much of the second normal texture is overlayed (black=0, white=1). The BlendStrenght value is an additional control affecting the amount of blending overall, including the mask input. You can use either the normal texture rgb output if you want to combine it with another normal texture, or the vector output to plug it into a shader normal input directly. In the latter case you can control the normal vector strenght with the last value in the node.