There can absolutely be improvement on some default Vim settings. 'hlsearch' should definetly be the default, and I think it is a crime that 'hidden' isn't. There are easily dozens of other examples.
However I think these should be made defaults in Vim itself, not in some grabbag of stuff we hand new users on their way in. I think it is important that every Vim user knows exactly what ways their setup differs from the default, and this is only feasible if every difference from the default (the real default) is made by the user.
Not really. I often use (incremental) search just to move around, and I don't want the highlight to distract me, especially with a really common pattern. I would consider using it if the highlight disappeared immediately after the search is over, but as far as I know there is no such setting, so I only enable it from time to time.
This just proves that it's really hard to agree on defaults.
Well, the highlighting doesn't start until the search is over (you've pressed enter). I use this to clear the highlighted results when I am done with them:
nmap <C-h> :noh<CR>
Maybe there is a way to make it automatically do that after searching with some sort of timeout. Not sure.
I'd agree with you on hidden but... the Vim defaults are (generally) the most vi-like settings, which makes some amount of sense. At the very least it keeps people from squabbling about what should be the default.
OTOH, the default vimrc has a bunch of stuff turned on and tweaked depending on your platform. So that could be a good venue for turning on some of these new, Vim-only features. That may sound like splitting hairs, but I think there's at least a bit of difference between "on by default" and "set to on in the config mkvimrc creates".
Eh, my thought is that 'vi'/'vim -C' should remain conservative but that just 'vim' by itself should turn on the sensible stuff. Certainly 'hidden', if not the more cosmetic searching stuff ;).
Some of the defaults are just plain harmful to people trying to get started. 'nohidden' is awful if you try to use buffers without knowing about it, and I don't think I've ever met anyone who wasn't infuriated by 'backspace' defaulting to "".
I'm not so much a fan of the platform tweaks, since you can't expect each platform to make the same ones. If you learn on one and just assume those settings will be the same everywhere, it can be very annoying when you switch to another system only to discover that your .vimrc isn't getting you the same behavior. 'backspace' is a particularly egregious setting this happens for often I find. It would be better if all systems left backspace="", so that everyone knew to add it to their .vimrc's.
However I think these should be made defaults in Vim itself, not in some grabbag of stuff we hand new users on their way in. I think it is important that every Vim user knows exactly what ways their setup differs from the default, and this is only feasible if every difference from the default (the real default) is made by the user.