This should add the flathub remote to the system and then install all the existing user packages into the system level. Then removes all the user level packages.
flatpak --system remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --system install $(flatpak list --columns=application)
flatpak --user remove $(flatpak list --columns=application)
Personally I would just pick all the ones you’d like to be global (system level) and leave the rest at the user level.
I’ve been using it as my main for months. Even as an Alpha, it’s very stable. That being said, it’s missing quite a few features that a lot of people would consider a requirement. So “ready” will heavily depend on your requirements