There is no perfect system, there will always be complex enough computer programs that they will need human input especially when something goes wrong. In this case, linux distributions should have a stronger, more coherent and more definitive way to go wrong and tell the user about it!
So if d-bus, X, or something else is missing, tell the user and give it the control., Recommending upgrading the system in such cases is not a bad idea (since that's how large-scale breakages are fixed).