According to some comments above, GIMP does support PSD files, and I know for a fact that GIMP supports scripting, so you could just write a script to export the layers for you.
Gimp absolutely does not support 100% correct conversion from psd. Layer effects are particularly broken. I have not seen any third party tool that properly handles psd files containing non-rasterized layers.