Update: after trying a bunch more things, I managed to play for a couple hours without crashing by changing my processor affinity. Instead of allowing the game to run on all cores (0-3), I restricted it to (1-3) instead.
I'm still not 100% sure this is solved, and need to play more to be sure, but so far it's looking promising. Still no idea what the underlying cause of the crashes is, but I'm optimistic that I may have found a workaround.