I have an idea. It's kind of a cheat, but why not simply always replace the spell whenever you cast it and make that spell mirror image. Don't know if this will actually work with the cooldowns through.
However, there is another idea. You make a dummy unit based off of your unit and give him the mirror image spell. Give your hero a dummy mirror image with only the splitting image animation and make a second dummy with only the splitting missile anim mirror image. Whenever you cast, trigger it to instantly create thre dummy (same exact dummy as your hero and make sure to set hp of the dummy to that of your hero, otherwise your MI will have different health) at your position, order it to do mirror image (make sure it's on your team so it works like it's supposed to) and once the spell is done, have it instantly make the unit invisable, then remove the unit. Now you have an extra image and you've gotten the effects you want. The way this will work is whenever you create the new unit, it treats it like a different unit and the mirror image like a dif mirror image. So with this trigger, you can create multiple ones without destroying others.
Now the hardest one but probably the most effective in theory is to create the entire spell with triggers and simply keep track of the units. You'll have to set the triggers to heal units the indstant they take damage from a mirror image to help hide them and trigger the extra dmaage too.
I'd however go with the middle choice since it;s the most efficient way to do things.
Hope this helps. If i have time, i'll make a demo map for you to see if you like the results.
I'll post it tommorrow if i can as it;s currently 1pm where i'm at and i;m tired so i'm gonna say goodnight and i hope this works for you.