IT's probably just a head gasket. A reputable shop can pull the heads and resurface them and put a new head gasket in place and the engine will be as good as new or at least as good as it was before this happened.
you may need to replace the sensor for the coolant, there should be a wire connected to it.
every 5 years
Recommend every 2 years
Your car's owner's manual will specify how often you should replace the coolant. In general, every 24,000 to 36,000 miles is about right, or about every 24 to 26 months.
check your water or coolant level If coolant level is ok, replace the thermostat.
Your coolant should look green. If it's getting rust colored,then it's time to replace it.
You could look here:http://www.lovehorsepower.com/SubaruDocs/CoolantTempSensor.htmlThis page shows the coolant sensor and how to replace it.'95 Subbie and '97 should be similar.
If your vehicle keeps overheating, you should flush the cooling system, replace the coolant, and replace the thermostat. In fact, you should have done that before this.
Usually it varies from, needing to replace a radiator cap, low coolant, replace air filter, oil change & filter. My first suggestion, replace your radiator cap and do a coolant flush, put new coolant in, if that doesn't work try an oil change, maybe a thicker viscosity. This should fix your problem, I hope this helped.
The coolant level sensor is located in the coolant reservoir tank. It should just screw or press in. Unplug it, remove it and put a new one in.
Make sure the coolant level is ok, add fluid if needed, that should make the light to go out if light still on you will probably have a bad coolant level switch and will meed to replace it
It's right on top of the engine, next to the thermostat housing. Just disconnect the wire, turn out the sensor and replace it with a new one. If you need to add coolant, add the coolant after you change the sensor. Also, you should be ready with the new sensor as soon as you take the old one out, coolant will most certainly start to flow from the opening.