Animation transition problem?

I have a problem with an animation transition. I have a running animation and a running attack animation. The only difference between the two is each frame of the running animation has an arm sticking out to shoot projectiles (just like in the Mega Man games). I have the running animation transition instantly to the attack animation because it has to for gameplay purposes.

The problem is that when the transition occurs it snaps to a certain point in the attack animation. This creates an ugly jump from a frame in the run animation cycle to a frame in the attack animation cycle. What I would like is for the arm to be raised while the other arm and legs keep moving as usual (again, just like in the Mega Man games).

Is there a way to do this? For example, when the running animation is at frame X and the attack animation is triggered can I have the attack animation start at frame X + 1? Can I use CrossFade or CrossFadeQueued? Can I use CrossFade or CrossFadeQueued in combination with an animator trigger parameter? If so, then how? Please help. It will be greatly appreciated.

@Staffiend

Try using the blend tree as it would smooth the transition from running to running attacking.

I know that the blend tree answer seemed to have been popular, but here goes nothing:

What I did is add another layer of animations. When the player attacks I call the animation moving his arm on this layer. It overrides the current animation just for the arm so if he is running this animation will be uninterrupted.

“Unity uses Animation Layers for managing complex state machines for different body parts. An example of this is if you have a lower-body layer for walking-jumping, and an upper-body layer for throwing objects / shooting.”