First of all, run memtest86 preferably for a long time to determine if your system is stable. If memtest86 detects problems, there's no sense in continuing your efforts with Windows 9x until the errors (e.g. faulty RAM, wrong timings, faulty PSU) are fixed.
Here are some basic rules for Win9x:
* Don't use FAT16
* Disable unused onboard hardware such as Audio
* Never install more than 512 MB RAM
* Install latest chipset drivers
* See that every card has its own IRQ (very important!), if that's not possible, make USB controller and LAN card share an IRQ, never graphics or sound card. For manual IRQ configuration refer to IRQ sharing table in mainboard manual, set PNP OS = No in BIOS and use BIOS to specifiy IRQs for each PCI slot. Once every device has its own IRQ, never touch it again. :)
* If not enough IRQs are available, disable COM2, LPT or USB in BIOS to free more IRQs
* Preferred IRQ for LAN is 10.
* Preferred IRQ for IDE is 14/15
* Preferred IRQ for Sound is 5
* Preferred IRQ for graphics is 11
* Make sure the graphics card is assigned an IRQ
* Never set any ISA devices to IRQ 9 and if possible don't make PCI devices use it either (at least not in ACPI mode)
* Use latest drivers (LAN, Sound, Graphics) for your devices.
* Always use Windows 32-bit VXD or WDM drivers for your devices, keep your autoexec.bat and config.sys free of any stuff, if possible.
* Don't use TV cards and software. They don't work :-)
* Don't use tweak utilitites that claim to improve performance, they usually don't work and make everyhting worse.
* If avoidable don't use an on-demand virus scanner
* Reduce number of background tasks to the ones you really need
* Registry optimizers/registry cleaners will kill your registry :-) Never use them
If problem persists:
* Update BIOS to latest revision
* When on Windows Me Set [vcache] maximum and minimum values in system.ini (Has nothing to do with swap space by the way, just google it)
* If avoidable don't use VIA 686B southbridge (go for Intel chipsets instead)
* Re-Install Win98 with ACPI turned off and begin from the start (There is a parameter switch for setup.exe that disables ACPI, but also turn off in BIOS)
I run a TUSL2-C and my Windows 9x almost never crashes on me, at least not when I am gaming. Windows 9x is a bit prone to crashing, but random crashes (especially freezes or bluescreens) during gaming or browsing the network should not happen and are a sign for hardware or driver problems.
As for my experience, I noticed that Win9x isn't as unstable as everyone says, it just doesn't forgive misconfiguration or broken or poorly designed drivers. Anyway, I hope some of the stuff above is able to help you. Unfortunately there is never an easy solution to random crashes.
locutus
for more Retro-related tidbits follow me on X under @ChrisR3tro.