I found an app a couple of months back that lets me monitor the CPU temperature and adjust the fan speed (at least the minimum fan speed) - I upped it from 1800rpm to 4000rpm (above 4000, it gets noisy), and crashes have become somewhat less common. So maybe it was just a heat problem.
But I did notice that most crashes happened when I was trying to watch something on YouTube, so it could also be a problem with Flash or the graphics driver. (Then again, YouTube has worked fine for me recently, so maybe it really was a heating/cooling problem.)
Obvious follow-up question: are you sure your hardware isn't faulty?