Hey by complete coincidence I am currently working on the exact same project.
There are three things you also need.
One is as you said, a tuned resistor. Either a pot, or just a resistor if you already know which value to use.
The next is, you still want software threshold tuning. No way around this, trust me. But this is super simple. You just take the average of the sensor readings off the line and the sensor readings on the line.
You should do this for each sensor. For example, if sensor A says 55 on the line and 102 off the line, do (55+102)/2 = threshold. Software thresholding is required because you can never predict a sunlight through the windows change in lighting where your robot will follow the line. My robot must work on a white line on light grey concrete outside rain or shine, according to the competition rules . . .http://www.societyofrobots.com/competitions_mobot.shtml
The 3rd item you need is an extra light source. Look up the datasheet for your photoresistor and see what wavelength it is the most sensitive to. For example, my photoresistors see green light the best. So I use green LED's to shine on the line so as to drown out ambient light. Of course, you must tune your photoresistor resistor to your LED. In all light based sensor robots, you must have a defence against ambient light (dont forget shadows!!!).
Just a side comment, you can also do this with infrared LED's and detectors too.