I see no reason to update a BIOS or any driver unless a specific problem is being addressed.
If crashes are erratic it could be anything - even memory-related.
I would do a few hour memory test, use the ASUS stress-test diagnostics or something serious like a LINPACK (Intel BUrn-in).
Run a thorough CHKDSK, check over your Event lists, etc. - routine maintenance stuff.
I have found the Windows debugging tools helpful - I install WINDBG to intercept crashes. The stack trace is usually enough to pinpoint problems. But this is not for everyone - I used to be a systems programmer, so geeky stuff suit me well.
Perhaps even a system file check may be warranted - (try 'sfc /verifyonly' and look at the logs to see if a scan is required).