I don't see how. In the presence of default initialization the compiler cannot diagnose these things, more or less by definition. Therefore you will be falling back on debugging.
UB plus a memory access sanitizer automates the practice that you described.
UB plus a memory access sanitizer automates the practice that you described.