Changing Multiple Colours at Once
This is best done with node groups. Add a "main color" group that outputs a color to tint with. Incorporate that into the material nodes. Then, whenever you change the group, all of the nodes get the new color update.



As far as automatically adding the groups, it would be much harder (although not impossible), and it would require a good bit of python programming.