This is actually causing problems, because the interpolation for unused components is NONE, and this prevents it from being merged with a used component.
Moreover, when I compile from HLSL, elements with different interpolation modes don't get put in the same register, so I'm confused about why this patch even helps. What does the offending Assassin's Creed shader look like?