When I add two action constraints to each bone in an armature, they combine as expected and as described in the wiki, that is, translations are added, rotations are "added" (whether Euler rotations or Quaternions, I have not tested Axis-angle), and scales are multiplied. To me, this seems like what it's doing is multiplying the transformation matrix of the base armature by the transformation matrices of the two action constraints.
When placing one NLA strip above another, which both operate on the same set of keys, the only options I can find for blending the two strips are Replace, Add, Subtract and Multiply.
Add works for Euler rotations and translations. It doesn't work for scales, because adding scales of, say, 1.1 and 1.1 gives 2.2, which is not what two scales of 10% each should do, so scales need to be blended using Multiply. Similarly Multiply doesn't work for Euler rotations and translations, so it looks like actions have to be split into the channels that need to be combined using add, and the channels that need to be combined using multiply.
Worse, Quaternion rotations don't seem to combine well at all with any of the blending options (except of course replace), as adding or multiplying the components of a quaternion rotation doesn't really have any relation to something an artist might want to do (and will be normalised again before they can be applied anyway). Even a single NLA strip with quaternion rotations set to add doesn't work as expected, because it appears to me that it just adds the quaternion components to the "no rotation" quaternion (1,0,0,0), which doesn't give the desired result.
So my main question is, is there another way to blend two NLA strips using the same method two Action Constraints are blended? This appears to me to be combining them by multiplying their full transformation matrices, not just adding or multiplying the components which the NLA editor appears to do.
If there isn't, I guess the work around would be to always use Euler rotations, and split every action into two actions, one that gets combined by multiplying (scales and perhaps some 1-0 switches and other properties), and one that gets combined by adding (translations and Euler rotations). Quaternion rotations will just have to be avoided.
If this is the case (and maybe I should make this a separate question?) is there any way to combine two NLA strips into a meta strip that spans more than one track? I can only see ways to combine NLA strips as a meta strip in sequence on the same track, which is of no use for recombining strips that have been split into their add and multiply components.
(Of course if there's no way to do either of these then this will of course turn into a feature request, which is not what this site is for, so I'd be very happy with just an answer of "No" or "Yes, you can do it like this...")
Thanks for your time!