Is it possible to defeat the need to have the sketch name be in a folder of the same name?
I understand and appreciate the benefit this has for the unseasoned user, however it makes it more difficult to save old versions as you are developing a new program ( at least for me).
other note:
I'm still working on a hack installation of avrdude 7.
When working with versions as a project evolves I use a folder for the project, which can have any name, and put evolving versions of the code within it, each with a different name with either a version number appended or a description of the change made/functionality added as part of the name
To my feeble attempt to attempt to bypass this requirement, I failed and the IDE offered to correct same!
You have all the IDE code, so 'yes' would be the correct answer in that it could be done; providing you want to create your own one-off IDE.
Personally, I use a simplistic directory structure and when I get a properly working version, I do a File-Save-As and prep the next update folder.
File -> Save as creates a complete new directory if you give the sketch a new name that you can use for older versions. I have not tested this with sketches with multiple tabs but suspect that it works
I usually just copy in e.g. Windows Explorer and rename the ino as well.