I had a similar nagging cooling system problem with my 98 Forester (granted it had a 2.2 transplant so the head gasket problem was less likely.) I did most of what you suggested without total success, but finally and completely licked the problem. (And I never did conclusively figure out what caused it in the first place--I just knew when it finally got fixed.) First I installed a 160 degree thermostat (a good parts man with a buyer's guide should be able to find one.) I then removed the factory overflow tank and substituted a junk yard special Jeep Cherokee overflow tank which I mounted on the front passenger side face of the firewall as high as possible. I connected the small hose on the new overflow tank to the nipple on the radiator fill neck and I T'd using hardware store plastic pipe fittings and worm drive clamps the large hose from the new overflow tank into one of the heater hoses that run across above the transmission. All of this requires a fair amount of tinkering, primarily because of the tight quarters. While I was in the vicinity, I eliminated the coolant feed and return for the throttle body by capping the nipples on the top of the engine. I made certain that the overflow tank cap could not hold any pressure by removing its pressure valve and gasket. I also modified the radiator pressure cap so that its only function is to permanently close off the radiator filler neck but so that it also cannot hold pressure in the cooling system. You can do that by removing the little pressure-holding disk in the center bottom of the radiator cap and then installing the cap with a layer of RTV sealer to make it leak-proof--you won't remove it again, since coolant is added via the overflow tank.
For over a year I've run the cooling system like this--no pressure anywhere in the system. I originally topped up the coolant by bringing the level up so that coolant just showed in the bottom of the reservoir when the engine was cold. Without a sealed system, I've lost only a tiny amount of coolant to evaporation, but probably no more than a cupful in a year. In all kinds of weather, including very hot summer days with the A/C on, I've never seen the temperature anywhere near to overheating, I get adequate heat in the winter although this particular vehicle was always a little slow to heat up initially, and it still is. Beyond all of the above benefits, any cooling system leaks that I may develop over time (either internal or external) now will be a non-pressurized dribble and not an explosive discharge which tends to blow hoses off, deplete coolant really rapidly, and/or cause big problems.
It took a fair amount of experimentation to get all of these different changes figured out, but for me at least it has been worth all the aggravation of getting to this point so that I can have a vehicle that I can trust and which I don't feel that I have to check the coolant every day as I did before.
I also highly recommend the older 2.2 engine transplant, although the non-interference 2.2's probably are very scarce now. Mine was a 93 from a Legacy and was a pretty easy swap except for changing the sensors on the engine from the engine's OBD I sensors to the car's OBD II's. (Fortunately they all fit the engine correctly but the sensors and their wire terminations are different.) I used the 2.5's intake manifold so all of the wiring for it simply got reused. In my experience, they should have built Foresters this way from the factory. A bulletproof engine and a reliable cooling system made this vehicle about perfect from my vantage point!