Without std there is nothing to do, i586-pc-windows-msvc/gnu already work just fine - the PE format hasn't changed, really. Just don't use APIs that don't exist on the OS version you're targeting and you're good to go!
For 95 you'll need to go down to VS2003, which breaks unwinding (but panic = abort works fine).
If you want unwinding on 95 you need to patch out the IsDebuggerPresent function import from the 2005 msvc runtime still, yeah.
Great work!