Your description of the behavior of resistors immediately set me into a little thought experiment. I'm wondering what situations we might expect to find a problem from a particular resistor. My thinking is that if I use a part that is sufficiently large for heat dissipation and of good quality, the resistor is probably one of the least problematic components in the circuit.In particular, I'm thinking about how much non-linearity one might expect from a resistor. It seems to me that it is much easier to make a good resistor than a good active component, because a resistor is simpler. I guess I'm just thinking outloud here, about what might constitute acceptable performance from a resistor compared with say a tube or transistor in the same circuit.
The thought experiment goes something like this:
A resistor is a conductor or semiconductor that is made in specific dimensions to provide specific resistance. A simple example would be a copper wire having "X" ohms per foot used to form low resistance values by cutting the length of wire to make the resistance required. This is basically what's done with semiconductors too, in that a substrate or cake is formed with dimensions that provide the resistance needed.
When a voltage is applied to a resistor, current flows though it. This causes power dissipation in the device, and if it is sufficient to raise the temperature of the device, this is likely to cause a change in its resistance. Depending on the material, the change can be up or down.
Most materials become more resistive as temperature rises, and this tends to limit current. Materials that become more conductive as temperature rises can enter thermal runaway because increasing current raises temperature which increases current even more, raising temperature even more, and so on. But in either case, if a temperature rise causes a change in resistance, then there is non-linear current flow. When the device is pushed hard enough to change temperature, it changes its value slightly, making the current flow through the device disproportionate to the voltage across the device.
But most devices I can think of are pretty well behaved in this regard, especially when they aren't run hot. If I use a 1/4 watt resistor at 1/4 watt, for example, it begins to heat up and change its value. That's probably pushing it too far. I might be better off using a 1/2 watt or 1 watt part instead. I might even use a larger power value device to make it even more solid, if I really think I need it.
Back to the example of the wire, I can use a large guage conductor that is very long or a shorter piece of thin wire and obtain the same resistance reading at very low current levels. But as current rises through the small wire, its resistance changes long before there is a change in the larger wire.
Another example is the tube filament that glows bright when cold, then resistance rises as it heats up and limits current. The tube glows bright on initial startup and then relaxes back to a dimmer glow. But a thick bar of copper can be made that is long enough to have the same resistance as the filament. It would be virtually rock solid in resistance value when used at the same current level that was heating the thin wire enough to make it glow and change value.
So I guess what I've concluded is that the real issue here is heat. It isn't the resistor that's bad, it's the heat that is dissipated by the device. If it's large enough to dissipate the heat, it's going to work well. I think it's pretty easy to get a resistor large enough in power handling to be stable, and then it shouldn't be one of the components I'd be worried about. Seems to me the best thing is to use good ones and make 'em big enough.