Quite often, packing schemes, where tangent space normal map is stored together with other data are viable, especially since BC7 became pretty much mainstream.
Problem is, that such packing schemes do rely on importing custom mip chain and not allowing to use built-in mip generation.
It would be quite handy, to have a setting, which, when enabled, allows you to flag two channels of the texture, as ones, storing normal components, and those would preserve normal length during mip generation, as well as extending composite texture functionality, to pick two arbitrary channels from a texture, to be used as normal map.
The same limitation works equally well in reverse. Currently, setting texture compression to normal map implies normalization during mip generation, blocking from using normal map compression for anything other than a normal map.