One of mastodon’s principle benefits, IMO, is that instances can customize their UI to fit their community better.
A lot of platforms (tumblr, wordpress, reddit, etc) allow people to apply custom CSS without having to directly edit their site’s source code. Typically this is done via some kind of formatted, editable textbox exposed to administrators.
I think it would be beneficial, and increase the diversity of mastodon instances a lot, if the custom.scss was exposed in a similar way that e.g. the /about/more page text is (although with a proper SCSS-aware editor, with at least syntax highlighting, would be nice).
The pipeline for this should, I think, be fairly straightforward – when an administrator commits a new style, all that needs to happen is a background task needs to call the scss compiler on the custom.scss and replace the site’s CSS assets, and then notify whatever serves those of the change so that it can flush its cached version. It may be desirable, though, to compile the custom.scss separately so that the whole CSS need not be recompiled/invalidated. This would be complicated if the $color variables remain in there, but that brings me to my other proposal.
It would be even easier for admins if the $color variables were exposed in the same UI, e.g. as color pickers. This way the custom.scss can be standalone (not have to import the rest of the application scss or vice versa) and admins can easily make changes without having to poke around in scss or guess at color values. It would also open up the possibility of providing a live preview, so admins can easily see how the modified colors would look on the site.
Finally, the ability to upload your own logo image from the UI would be nice as well. I, for one, find it tiring to scp the file to my server, copy it to the mastodon directory, recompile the assets, and restart the services just to test a change to my logo.