In large parts the scene tree depends on the tasks you want to achieve. So there can’t be a general one size fits it all solution.
On a small scale some combinations make sense, like for example that a SubViewportContainer shoud always contain a SubViewport. In cases like this you will get a notification in the editor, that explains the reason for these situation.