@romullus - yes, the lack of scale when drag & dropped is a max limitation. However when "Respect system units in file" is checked in the system unit dialog, imported materials (on objects) will scale correct - exept for a few parameters, as for example "round edges" size.
So the workaround is to make matlibs for every (or at least some) units, and then choose the right one either manually or automatic.
PS - when converting materials unit this way, one must be aware that procedurals (noise etc.) are scaled by the UVW size, which can't exceed 999,999. So ideally when making scale able materials in millimeter, the UVW for procedurals should be kept below 1.