So far I've only dealt in non-imperial slaves twice. Once, I bought 2 and freed them, another time I saved them from dying in space by scooping them up, then dropping them at a black market because no mission to save them was available and I don't like flying around with illegal+stolen cargo. In both cases, they were better off, even if those sold at the black market probably are still slaves now.
On that note, I don't think we should be restricted to freeing slaves only when a random mission allows it.
EDIT: Wait, make that three times. Once a station selling slaves offered a mission looking for slaves at the same time, so I bought and sold them back for more.