Let me reply with something a little less antagonistic - it's just frustrating because everyone sees "Oh another daemon, let me reboot it" and blames application developers, when it's just too hard of a problem to deal with.
DBus actually shares a lot of similarities with SCTP (http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol
); it's a realization that message-oriented (as opposed to stream-oriented) is fundamentally more useful to applications. DBus just happens to be implemented in userspace, but that doesn't mean it's just another daemon, any more than TCP stacks that live in userspace in some old operating system designs could just be restarted at any time without any obvious side effects on the system.
Speaking of userspace kernel integration, I'd be pretty surprised if you could reliably stop the fuse service too; given all the discussion about nearly unfixable race condititons in rmmod that have (http://lwn.net/Articles/31474/
Auditing every program and making them able to cleanly support restarts of system services like HAL, NetworkManager, and PackageKit would be a huge task, for similar reasons because these services build up state. It might sort of work most of the time, but what you *really* do not want is for the system to sometimes break when the user plugs in a USB key when the background package upgrade happened to restart the bus at just the wrong time.