Well, until my X-Fi arrives, I'm stil using onboard AC97 and I've made some adjustments in foobar2000 which I believe have made my music sound better.
First of all, in the Playback menu, I set "Output data format" to "16bit fixed-point padded to 32bit" Then I turned "Dither" on and selected "strong ATH noise shaping"
In the DSP section, go to "Resampler" (the one before "Resampler (PPHS)") and set the target sample rate to 48000 Hz. I also have "Slow mode" enabled, but depending on the speed of your CPU, that may use up more processes than you want.
Then make sure to add "Resampler (SSRC)" to the Active DSPs. I also like to use an equalizer to adjust the sound for my headphones. I personally like "0 -1 -2 -4 -5 -6 -7 -6 -6 -5 -5 -4 -3 -2 -1 0 0 -1" but you can play with that until you get the sound you want. I also have Crossfeed turned on when I'm using my headphones.
I think the biggest improvement came from enabling Kernel Streaming. Go to the Kernal Streaming menu, under Output, and make sure AC97 Audio is the selected device. Then go to Output, and select Kernel Streaming.
Well, that's how I've adjusted foobar for the best sound on my AC97 onboard. But really, you should look into a soundcard.
download asio4all and install
download foo_output_asio exe version and unzip to the components folder
dither and crossfeed degrade sound, don't use those. resampling does also but in the case of ac97 you have to use it to 48khz. slow mode doesn't do anything but waste more cpu, leave it off. eq ruins any gain in quality (possibly worse than normal) so i highly recommend against the use of it for everything...
doing this got rid of the hiss i was hearing out of my laptop out with headphones, that alone was worth the trouble.