I had set up my own Gaia hub with an S3 backend for my application users, but realised that currently my own hub can not be used through the standard UI flow and the experimental CLI must be used instead. (Is my understanding correct?). This then implies that for all practical purposes, the default Blockstack Gaia hub is the sole storage hub at the moment and is responsible for storing data for all current Blockstack applications. Is there a limit on the amount of application data that can be stored through this hub?
It is true that you can’t change the provider right now, it is a goal to have this fix in Q4 2018. See https://github.com/blockstack/blockstack-browser/issues/1735 for details.
My understanding is that Blockstack’s gaia provider has a limit per file of 5MB, but no total limit.
gaia hub migrations are something in the future roadmap. You can host your own gaia hub now, but it is not user friendly for non power users. Changing this is also on the roadmap.