Well, I'll put this here for anyone else interested in solving Blizzard's UI Scale limitations
Code:
local scaleChanging
local function UpdateUIScale()
if scaleChanging then return end
scaleChanging = true
local scale = 768 / string.match(({GetScreenResolutions()})[GetCurrentResolution()], "%d+x(%d+)")
if scale < .64 then
UIParent:SetScale(scale)
else
SetCVar("uiScale", scale)
end
scaleChanging = false
end
local scaleChanger = CreateFrame("Frame")
scaleChanger:RegisterEvent("VARIABLES_LOADED")
scaleChanger:RegisterEvent("UI_SCALE_CHANGED")
scaleChanger:SetScript("OnEvent", UpdateUIScale)