Your comments

Just created a plugin that can partially resolve this issue:

Currently, it works by checking to see if the tabbing is different between the current file and the global settings when the command is run. Then if there is a difference, it converts spaces to tabbing, sets the tab width, and then converts the tabs back to spaces. That's how I've always done it from the UI, so I figured why not.

There's a setting to disable the conversion upon loading a file in case you don't like that.