This is why using the Hfe value from the datasheet is misleading. You actually want worst cast (lowest gain) value.
Why I don't even do the math any more is simple.
-
I use a small subset of NPN small signal transistors from my parts bin that I have had for years (2N4400, 2N3904, 2N2222).
-
With 5V logic and a typical load current (from 30 to say like 200ma), I have used a 1000 Ohm resistor for the base resistor and it has served me well with all three transistors. Why 1000 ohms? Because I also have a bunch of those too.
Am I treating this like exact science? I could... but I don't. I don't need to be so pedantic.
Now... when moving to 3.3V, does this rule of thumb still apply? Nope. You will need to determine the proper base current using 3.3V in your equations. But once figured... you can pretty much use any off the shelf small signal transistor of the type I mentioned above... keeping in mind you don't want to exceed max collector current.
In my case... I just reach for a 680 Ohm resistor for the base... and bam done. Works the way I want (Most of the time).