I must be missing something but we already know T here. So what's the problem with simply:
align(T.alignof) void[__traits(classInstanceSize, T)] store;

And letting the compiler handle alignment?