Here's a great time-saving tool created by Vaclav Chaloupka. It's been created to allow fast searching of materials in a scene with the ability to easily replace them with another material. But, that's not all it can do.
Here's a listing of its features:
- Search for a material in all objects and replaces it with another material.
- NEW! Reduce the script to all/visible/selected objects.
- Rename materials in a list of all materials - no need to go the the object.
- Show who is using the material.
- Calculate the sum of surface areas using material. NEW! - calculating real (scaled) object area.
- NEW! Assign material to selected faces or objects.
...[my Blender]project was becoming quite messy, with multiple copies of same material with different names. Changes sometimes did not apply to all intended objects. Then I started to create multiple scenes, made some meshes single-user, and I've got even more copies of material.
I've spent some time going to each object, scanning through the material index and changing it manually - the OOPS spaghetti did not help much. I thought there must be a better way - Python, but I could not find a script that would do that - so I wrote one...
You can get more details on his webpage.