Assigning my tactical crew to gun rooms and engaging in ship to ship combat seems to do a very good job of earning them experience. Similarly, sentries allow me to slowly but surely feed experience to my engineers. But I can't seem to find any way to give my science crew enough work that they can progress past rookie.
Tossing grenades at my own crew almost works; The crew takes a little bit of damage and the blue shirts get a little xp, but not as much as the engineers get from repairing the ship damage from the same grenade!