bjornmu, I suspect you are expecting too much here.
As was already mentioned, shutdown is considered perfectly "safe". If you read 'man shutdown' you will notice the following:
shutdown arranges for the system to be brought down in a safe way.
Once TIME has elapsed, shutdown sends a request to the init(8) daemon to bring the system down into the appropriate runlevel.
You can further read about 'man 8 init' and 'man 7 runlevel' to find out all the gory details. These systems bring down any running system
processes in the correct order. Any user
processes are sent a signal to shutdown, however applications often ignore this. You can submit defect against each application if you'd like. However, the general assumption is that the user will take care to properly save all their work, since the system has no way of knowing if the user actually wants
to save any changes they made. This can lead to a debate of epic proportions...