Why can't you call a protocol struggling? IPFS is struggling on performance. Services actively aren't using the IPFS protocol because of lack of speed and uptime. Again, once filecoin is launched the hope is that will change because more IPFS nodes will have incentives to run in the network.
RE: Decentralization is not binary