It seems that you are using bone transformation matrices in world or modelling space as Ashaman73 mentioned. All of the professional animation systems store the keyframe matrices relative to binding pose or maybe reference pose. During animation blending the keyframe matrices are being interpolated relative to ref or binding pose and the final pose will be calculated in the modeling or world space to be passed to the skinned mesh renderer.
Maybe you are calculating the blended pose in the world or modelling space and add it to the animation track and the animation system you are using is assuming that your blended transformation is calculated in local space and then it adds that local transformation to the final world space matrix.
For a more accurate blending you can interpolate position rotation and scale tracks separately just like what Buckeye suggested. However the way you are interpolating is not going to produce bad results on scale and translation if you are interpolating between two correct matrices. It can cause non-linear interpolation on rotations because you are using LERP instead of SLERP.