Vbe, the voltage between base and emitter, is a well-controlled property of a BJT, and will be close to 0.65 but a more precise value for a specific condition (voltages, current, temperature) can be found either from a datasheet or empirically.
The voltage over R1 is Control-0.65, and hence Ie = (Control-0.65)/R1. If Control is a logic level signal that goes between two specific levels, then R1 effectively determines the emitter current. Note that this does not involve the poorly controlled hfe of the BJT, or any property other than Vbe and R1.
But what about Ib? The resistance seen at the base is hFE*R1. So if Ie is 5mA, Ib = 5mA/hFE, or on the order of microamp, uA. No base resistor necessary.
Ic = Ie + Ib which for any reasonable hFE, say > 100 makes Ic = Ie within a percent. Which for a load like an LED is way beyond the precision needed.
Drawbacks: the control signal voltage sets a limit on the load current. In addition, BJTs are commonly limited to 5V between base and emitter, which isn't a problem when controlled by logic levels. But don't experiment by say using a 9V battery and hooking the base up to VCC. If you do this Vbe will spike to 9V before the transistor can turn on and bring it down to 0.65V, and each time this happens it takes a little damage that will add up over time making it eventually fail; if you do need to use base voltages greater than 5V then make sure to slow down the transition speeds on them to not exceed the switching speed of the transistor. These won't originate from logic circuitry so won't be fast, and deglitching e.g. a push button or relay will slow down transitions.
For switching larger loads rather than finely controlling small currents, use a logic level MOSFET. An N channel MOSFET with a suitable gate threshold can be dropped in in place of the BJT in the emitter follower above. (It becomes a source follower.) R1 will still control the current, but the source of error will be Rds rather than hFE.
So: you want 5mA of current through your LED, and Control is 5V TTL with a 4.85V high level. R1 = (4.85-0.65)/0.005 = 840ohm. The base resistance for the minimum hFE (look this up in the datasheet for your particular transistor) of say 75 is 840*75 = 63k. This makes the base current 4.85/63000 = 0.077mA when Control is high, which of course is a trivial load. Higher hFE will reduce this, making it even more trivial. A little bit of base current is good, too little and you'll be picking up noise instead.
Basically, circuit analysis is needed to properly design around a transistor, especially a BJT. MOSFETs are easier in this regard, but have their own pitfalls.