This is an application problem. There are too many dot files filling up home. A quick "ls -d .??*|wc" shows i've 97 files and directories that start with dot.
Almost none of them were created manually. They were put there by applications. They should be in a subdirectory. My preference is .etc but the best way would be to use an environment variable. In some cases a .lib would also be appropriate.
Then there are the things that should be dotted and aren't. Only files that you manage explicitly should be visible. Files and directories managed only by an application should have the option of being tucked out of the way. The Mail directory is a good example. Only rarely do you manage the files manually so they shouldn't be showing up in a normal ls. Fortunately most MUAs allow you to specify the path so i do but some MUAs insist it has to be $HOME/MAIL. Desktop is another. I don't want a Desktop directory so i configure the WMs to not use it and rm -rf the sucker but if i did want such a grab-bag i'd want it hidden.