Have you ruled out power supply issues and are you running at stock clocks (for CPU and RAM as well)?
Anyway, going from "at least once a week" to "once every 3 months" means that 90% of your crashes have been fixed.
> with some undecipherable error message in dmesg
What kind of message would you expect that would be more decipherable.