Android does not contain binary blobs because of some evil conspiracy against free software. If they could get away with it, the whole damn thing would be open source.
The problem is those blobs do things that interact with complex hardware for which only blobs are available. Even if you reverse engineer them, you are going to get sued into oblivion because of the patents you are going to need to infringe on to make functional replacements.
But even if you get a blessing from the component manufacturers, your new hippie binary blobs need to be certified to legally operate on cellular and wifi frequencies in most parts of the world. If you decide you don't like something and change it - as is the open source way - that new version with your modifications needs to be certified too. Carriers do not allow uncertified devices on their networks.