Here's my (heavily redacted) directory tree:
. ├── Desktop ├── Documents │  ├── Downloads │  │  └── Torrent │  ├── Games │  │  ├── Books │  │  │  ├── Anima │  │  │  ├── Rifts │  │  │  └── White Wolf │  │  └── PNP │  │  └── Palladium │  │  └── Underseas │  ├── Netbeans │  │  ├── AOWGui │  │  ├── ArtOfWar │  │  ├── ClientServer │  │  ├── EuclidGCD │  │  ├── ExternalLibraries │  │  │  ├── foursquare-api-1.0.2 │  │  │  ├── gson │  │  │  ├── log4j │  │  │  ├── OpenCSV │  │  │  ├── RestFB │  │  │  └── SongKick │  │  ├── GraphicsProject │  │  ├── HexFieldProject │  │  ├── MatrixSolver │  │  ├── PlaceFinder │  │  └── TicTacToe │  ├── School │  │  └── Spring2015 │  ├── Scripts │  │  ├── bqueue │  │  ├── Dice │  │  ├── GoogleEvents │  │  ├── LinkLang │  │  ├── Particles │  │  ├── RBTree │  │  └── Tokenizer │  └── VMs │  ├── FreeBSD │  └── IWD ├── Media │  ├── Audio │  │  ├── Songs │  │  └── TheRepublic │  └── Video │  ├── Movies │  ├── Stargate │  │  ├── Atlantis │  │  └── SG1 │  └── Weeds └── Test
In addition, I have a ~/.config directory. All RC files are stored under the .config directory, including ones that don't respect the existence of .config. Those are stored as, for instance, ~/.config/zsh/zshrc and then simlinked to ~/.zshrc and so forth.