I would also suggest trying the "blend between frames" approach.
An ex co-worker of mine made a
C# 2D Game Engine where he supports sprite blending for sprite based animations.
Here's a
gif showing the difference between "classical" sprite animations and blending.
I'd try this approach and check if this is suitable for your use case.
If it is not, maybe Casey's solution works better for you.
However, just from reading about it, it seems that the sprite blending is a little bit easier to implement.