Sure just blend in a texture map that has bigger range then the others
let us suppose (very rough illustrative scene, theres offcourse a lot of ways to skin this fish so to speak):
CODE
file -f -new;
sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1;
shadingNode -asShader phong;
sets -renderable true -noSurfaceShader true -empty -name phong1SG;
connectAttr -f phong1.outColor phong1SG.surfaceShader;
shadingNode -asUtility displacementShader;
connectAttr -f displacementShader1.displacement phong1SG.displacementShader;
shadingNode -asUtility plusMinusAverage;
connectAttr -f plusMinusAverage1.output1D displacementShader1.displacement;
shadingNode -asTexture leather;
shadingNode -asUtility place3dTexture;
connectAttr place3dTexture1.wim[0] leather1.pm;
connectAttr -f leather1.outAlpha plusMinusAverage1.input1D[0];
shadingNode -asTexture ramp;
shadingNode -asUtility place2dTexture;
connectAttr place2dTexture1.outUV ramp1.uv;
connectAttr place2dTexture1.outUvFilterSize ramp1.uvFilterSize;
connectAttr -f ramp1.outAlpha plusMinusAverage1.input1D[1];
setAttr "leather1.creaseColor" -type double3 0 0 0;
setAttr "leather1.cellColor" -type double3 1 1 1;
setAttr "leather1.alphaIsLuminance" 1;
setAttr "leather1.alphaGain" 0.11572;
setAttr "ramp1.colorEntryList[0].color" -type double3 0 0 0;
setAttr "ramp1.colorEntryList[1].color" -type double3 1 1 1;
setAttr "ramp1.colorEntryList[2].color" -type double3 0 0 0;
setAttr "ramp1.colorEntryList[1].position" 0.535;
setAttr "ramp1.colorEntryList[2].position" 1;
setAttr "ramp1.alphaGain" 0;
setKeyframe "ramp1.alphaGain";
currentTime 1;
currentTime 24;
setAttr "ramp1.alphaGain" 0.5;
setKeyframe "ramp1.alphaGain";
Asign phong to sphere, render samples between frames 1 and 24 then start driving the gain with athe blendshapes data. But again just one way.
This however is a linear add you should consider vector add but fror that you need to add mr nodes.