It appears you can now use:
app.updateSetting(inputName, [type: type, value: value])
app.updateSetting(inputName, value)
// or for DTHs:
device.updateSetting(inputName, [type: type, value: value])
device.updateSetting(inputName, value)
However, while the above code seems to be able to change settings with existing non-null values, it does not appear to be able to add values to settings that are currently empty. So half-way there at least…