

I would seriously suggest to at least check the last modified time of the file instead of constantly re-computing all the style rules every second. So at the very least:
// store last known modified time
var previousModified = 0;
setInterval(() => {
// ...
chromepath.append("userChrome.css");
// check last modified time before proceeding
var modified = chromepath.lastModifiedTime;
if(modified <= previousModified){ return }
previousModified = modified;
var chromefile = io.newFileURI(chromepath);
// ...

These new profiles that can be accessed through menu are not exactly sub-profiles, but I think more like sibling-profiles forming a profile group. Profiles in the same group know about each other, so in the UI you can switch between them and I think there are some settings that can be shared between the profiles in the same group.
I don’t know of any plans to deprecate the old profile system, nor about:profiles for managing them.