The OP didn't ask about permutations at all.. he never mentioned them... he asked 'How should shader support be designed in the engine so it is actually easy to use while programming the game?' which says nothing about permutations at all.
Isn't this a touch pedantic? Shader permutations/integration/how they're handled in an engine, it's roughly the same subject matter.
I'll reiterate my point again, he wasn't asking for advice on whether he should write a game or an engine, he was asking about shaders.
This is just my opinion of course, if you guys want to wring it out some more, carry on...