Unfortunately, I think you have to learn to live with the mess that Revit creates. Several related problems make the issues too difficult to correct to be worth it.
- Unique names: Yes that seems ridiculous but on the flip side it does allow you to change one instance without affecting other block references. If you need scheduling, then it's best to export those from Revit as well.
- Insertion points: Translation of family instances to blocks involves using taking the elements of the family and creating a block that uses the project origin, not the family origin. This makes blocks difficult to window select and makes involving those blocks in stretch operations impossible.
Blockreplace won't usually work because the blocks would dissappear from where they were and end up somewhere else. You would need a custom command that moves the block reference back to where it ends up. I create such a command for one project but even with the command, it was mostly a waste of time.
Architect, Registered NC, VA, SC, & GA.