Most people I've seen are completely haphazard about file naming conventions in part because there's no obvious good way to do it unless the user has tons of prior experience, and then it's (almost?) too late... WordPress should provide users more guidance here in the form of renaming files based on a set of rules that can be configured by the users and also by developers.

So I'd really like to see WordPress provide rules and add some workflow primitives that allow plugins to drive file renaming on upload based on attributes users could specify, such as the role of the file (headshot, site hero, featured image, etc.), main subject ("cake", "handrail", "sky", "guitarist", etc.) and some things users don't control like named sizes (small, medium, large, tiny, huge, etc.)

Yes this can be done with a plugin but it requires hacking core so much that the code is fragile and very likely to break on the next major upgrade (I know, I've written said code!) This level of control should be implemented by core and then allowed to be extended by plugins and themes.

Minimally I'd like to see WordPress strip files sizes from uploaded files so you don't get filenames like "myphoto-1024x640-300x200.jpg"; it should just be "myphoto-300x200.jpg"