Your shell, per se, doesn't have a "theme".
The shell itself is more or less just the command prompt and the functions behind that. Every other color information will be determined by other programs. For example, the
LSCOLORS you found is an environment variable for the
ls builtin to use these colors in its output instead of plain text. Similarly,
vim also just outputs certain color based on its scheme.
The programs will use color codes for that. These are "escape sequences". For more info, see: Bash Prompt HOWTO: Chapter 6. ANSI Escape Sequences: Colours.
But the main point where you set how these colors are interpreted is your terminal, not your shell. So if at all, you should find themes for your terminal. You could then modify that when
ls would output "red", you'll actually want "aubergine" or similar. Any terminal emulator allows you to change the colors.
For example, using the Solarized theme in iTerm 2 for OS X, you can see that my "bright red" will actually turn dark orange, and my "black" is somewhat blueish:
Finally, Generic Colouriser is a program that will allow you to colorize (almost) any command's output – even for commands that usually don't use colors at all, like