It's not a resistor, it's a constant current. Even better than hFE is noting that:
Ib = Ise * (exp(Vbe/Vth) - 1)
Ic = Isc * (exp(Vbe/Vth) - 1)
It's like a current mirror, where the collector current mirrors the current of the base, but the collector voltage isn't confined to ~0.6V (Vbe) in the process, but can vary freely.
Ise is the 'saturation current' of the emitter (so, B-E junction), and Isc the collector. You can see clearly that, all else being equal, hFE = Isc / Ise. But these parameters are independent and can vary, which is why hFE itself varies so dangerously.
Both of these only count for the linear range, where Vce > Vce(sat). In saturation, you can think of it as forward-biasing the B-C junction, so the low collector voltage acts to shunt away base current, limiting its "on-ness". The B-C junction has a different built-in potential, so Vce(sat) is positive, usually some 100mV or so. (When inverted, i.e., using emitter as collector, the potential goes the other way; Vec(sat) still isn't negative -- that would violate conservation laws -- but it can be ~mV instead!)
So as long as you remember that a BJT is composed of two diodes, one which acts as a sensor (reading Vbe), and one which acts as a constant current sink (where Ic depends exponentially upon Vbe), you can very well describe operation from linear range to saturation.
Exponentials are rather inconvenient for basic analysis, so you can make some empirical assumptions, like Vbe = 0.6V and hFE ~= 200 (or whatever the datasheet ballparks), to facilitate things.
Tim