I hate having dotfiles in ~/ for the same reason why I hate "My Documents" in Windows: because it's supposed to be my space that I organize, not a generic dumping ground for your config files, brand-named folders, or other nonessential garbage.
I want my space to be mine. Keep your app's stuff out of there!
I am using a manually created /data partition as my personal space. Many dotfiles and 'dotdirectories' are distro+release specific. With having all my personal data in a separate partition makes switching distros (or using multiple ones) a breeze as I start with all my data intact and a virgin /home which I can populate with my dotfiles as I see fit.
My Documents was never meant to be a storage space for application settings. Application Data / AppData is the place for this. Of course, whether an application complies with this depends on the developer, and many applications break that rule
Your homedir equivalent on windows (since Windws XP) is /Documents and Settings/username, or the modern shortened equivalent. That has subdirectories for documents and application settings. Apps that put config data in My Documents are using behaviour dating back to Windows 95.
It's the same on Mac OS - /Users/username has a Documents subdirectory. Mac spps tend to be better-behaved, but a few manage to pollute the Documents directory. On Linux you may roll your own or use a ~/Documents directory created by your desktop environment. The fact is your homedir is the home of pretty much anything that is user-specific, and you either need to collect all the config data into some sort of config directory, or do your own organising in a subdirectory, or both.
It's actually quite useful to have everything that belongs to a user under one directory.
The canonical example is the backup. There's a strong case to be made for "tar czf /tmp/backup.tgz ~". Do you really want your backups to become as complicated as they are on OSX and Windows?
Likewise, being able to mount home-directories from remote servers, and being able to easily delete/move/quota users are highly desirable features in multi-user systems.
I want my space to be mine. Keep your app's stuff out of there!