Just add a line to your startup script (in RH & Fedora it would be /etc/rc.d/rc.sysinit) that removes any stale postgres sockets and run files like so:
rm -f /tmp/.s.PGSQL.*
rm -f ~postgres/data/*.pid
I do this just before the swapon command.