Troubleshooting advice for basic transistor + pro mini setup

Base current is limited by the resistor you put between the base and the Arduino pin, not by the collector-emitter current. ICE itself however is limited by Ib (and whatever is in the collector circuit). You can look at a BJT as if it were two diodes linked at either the anode (NPN) or cathode (PNP).
It is good practice to saturate the transistor - then you have a gain of 10-20, so for 15 mA that'd be a 0.75-1.5 mA current. For a 5V signal that means a 1k resistor will do great. This current limiting resistor is a requirement as without it you will probably blow up your transistor, the Arduino pin, or both.
Letting the base of a BJT transistor float won't do any harm, there's no current so it's simply switched off - it's purely current driven. This in contrast to MOSFET transistors, where leaving the gate float is a very bad idea, as they're voltage driven.
Optocouplers are for connecting signals, not for driving LEDs.