I use an init.d script to shut down all things under /service, including all my aolserver instances. This is the first thing that I do on shutdown or reboot. Next comes Oracle and Postgresql. Everything else comes later.
As far as "shutdown immediate" for Oracle, I don't know what the effect is on the database. If it is as you say, to simply rollback every current transaction and quit, that sounds great.
I can package up my init.d scripts if you need 'em.