As you may be aware, I did some experimentation with attribute referencing and modification. The solution to change particular attributes is still a little bit involved, see this thread: Detect geometry changes - access GUID data in between paranthesis? - #14 by Intuos
Ideally, I would love to see a component where you can input a list of User text keys that you want to replace. You feed in the content that has values to replace and feed in content with replacement values. When replacing values, rather than replacing the attributes alltogether, only the attributes keys that were fed in should be affected.
Sticking to the example of the thread I linked above, I would feed in the referenced geometry, because I want to replace some values there, supply the keys for the values that need to be updated through Grasshopper and finally feed in the content with recomputed values.
It might also be nice if you could feed in just the values, like so:
That saves the hassle of matching key and value lists, albeit easy to do with duplicate data and partition lists.