I am developing a single person, first-person shooter that takes place in space. I want to be able to simulate zero gravity. Should I use a Rigid-Body or a Character Controller?
If you want free-floating Newtonian physics, that's exactly what a Rigidbody provides.
The CharacterController is for cases where you want to avoid dealing with physics directly, where you don't want to fight the physics engine to stop the character from feeling "slippery" or "floaty" or to give the movement more control and personality than a basic physics object.
But in your case, the "floatiness" of raw Newtonian physics is actually a feature, not a detriment.