Yes, for the *_s functions, I stand on the side of recommending them. The advantages outweigh the disadvantages.
For other non-standard stuff, I stand on the standard's side, since well... they're non-standard and usually there's a right alternative (void main vs int main, for example) or some other way around them.
Of course, you're right.In any event, since most of what makes these functions unsafe has a lot to do with the programmer than the C standard library, I do think its still possible to avoid these functions most of the time.
But still, it will relieve some burden from programmers to write out safety checks and to remember to do it all the time.
It's improvement, if anything.