The default colors for GNU ls don't work very well against dark backgrounds that aren't completely black. I tend to use transparent terminal windows (because I'm cool), and my backgrounds are often dark blue or green.
Here's a copy of my DIR_COLORS file that tweaks the colors to make them more readable on a range of backgrounds. Note that these colors assume a relatively dark background. Drop it in /etc and you are all set.