Reusable Matrix block types
A few options to consider:


Use one big Matrix Block and a plugin such as Pimp My Matrix to get added control over which blocks display in which channels and various other details.
If you find yourself reusing the same Matrix Patterns from site to site, consider a plugin that can help you manage reusable schema such as Sprout Import or The Architect, both plugins let you define your schema in a JSON format that you can tweak and import multiple times.
I'll add this here as a third option as I think it's relevant for consideration but it probably doesn't address your question about reusing blocks: Consider using a plugin like Neo which takes a Matrix-style approach but let's your blocks use global fields which you can reuse as well as several other features.