This approach actually seems more straightforward and easier to maintain than the original shader cache system.
Of course when dolphin was originally written this wasn't feasible on hardware at that time, but nowadays I'd say shaders of this complexity aren't that unusual.