If you don't have a lot of money then stay away from any sort of suspension on a bike, cheap suspension forks and rears will be nothing but a lead weight that will break in short order, plus they're not good enough to respond quickly to rough surfaces, really the only thing you need with a full suspension bike for, besides at least $800, is fast downhill technical riding. I would suggest, especially for snow, is a non suspension fat tire bike. If you go this route make sure you study up real well on PSI for the tires because certain PSI levels perform better for certain types of stuff you'll be riding on. Also the fat tire bike is naturally suspended by the fat tires. Keep in mind though that there is no one bike that can excel at every type of surface, and fat tire bikes do poorly on pavement. I know you said no to the fat tire idea, not sure why, but they do perform the best for loose situations like snow, sand, mud, even with rutted surfaces, they also don't chew up the ground and leave grooves in the dirt.
The other option is to replace the fork with a rigid fork, a lot cheaper than a cheap suspension fork that won't last nor work well. Or you could find a $500 shock fork, but then the fork would be worth more than the bike which is not a good option.
Chain that touches the frame stay I would assume it could be due to the rear wheel not set correctly which is cheap and easy to check, simply loosen the rear wheel and just enough to so you can move the axle, then from behind the wheel grab both sides of the axle and pull the axle far back on the drop outs as you can without forcing it, then check to make sure the tire is centered in the frame and tighten the nuts, hopefully this will take up the chain slack if not than read on. Once you checked that the next cheapest thing to do is to clean the derailleur really well, spray some solvent or WD40 on the all the pivot points, wait for solvent to dry then put chain lube on every pivot point of the derailleur and the pivot at the hanger mounting bolt, you can check the pivot at the mounting bolt by trying to move the derailleur back and forth on the pivot, if it's stiff then clean it really well and spray some WD40 on it to loosen it up while you manually with your hand move the rear derailleur back and forth on the pivot, if it starts to move freely then lube with some chain lube and ride the bike shifting the rear frequently to see if that cured it; if that doesn't solve the problem the derailleur spring may have sprung, you can get decent rear derailleur like the Deore for about $44 on Amazon. If the chain is not hanging but rather slapping the stay when riding then the freehub maybe stiff, take the wheel off the bike and spin the freehub backwards and see if it seems stiff.