It's either software or hardware related. Run hard drive read tests(more than one; not the quick ones; see Hiren's BootCD for all the testing tools for this), run a mem test(one pass from memtest86+ should be enough) and if either of those throw errors then you found the culprit. MRI is another good testing software as it does everything(but it's hard to get), even testing the video adapter and different chips and buses on your motherboard. If there are errors during this test it could be a motherboard related issue. Yes components on the motherboard can die(USB or ethernet ports for example) and the motherboard will still function. This can cause blue screens as windows tries to initialize bad hardware; the results will be unpredictable(bsod).
If all of your software tests pass then reload your OS and that will take care of the issue. This is the quickest way to weed out the problem without having replacement or test parts.