You can safely pack parameters inside material functions, so should not be much of a mess.
There are cases where I’d also love to have and/or instead of nested IF’s, as well as complex flow control system and arrays, but for practical purposes it is more convenient to expand functionality of script node for this.