wall either directly or by adding a message to
shutdown is the standard way of doing it. Be sure to warn by
wall some time in advanced, and let
shutdowncount-down towards shutdown (eg. don't use
shutdown -h now). I would say you should start
shutdown at least 30-60 minutes before the actual shutdown, so the users gets fair warning. Shutting down on a specific time (e.g. at 3:00pm) is probably best.
If the shutdown is planned, it's usual to add information about it in /etc/motd - "message of the day", those few lines of text users gets after logging-in. If it's planned, sending out an email to users and/or posting information on the site's web-page, is also a good idea.
As the time for the shutdown approaches, the system can be set to not accept new log-ons by the presence of a file. I believe it's also possible to add an explanation (e.g. time when the system is expected to be back up again) to this file.
So in short, if possible give users advanced warning - and at least give them plenty of time to save their work.