Exploding polygons and adding consistent space/buffer between groups using QGIS?
With some trial and error, this may be a job for the Geometry Generators.
Start by creating some columns to hold the transformation in X and in Y.
Fill both columns with 0 for now.
Now, in the symbols, let's use a geometry generator that uses the dx and dy columns to make a translation.
Note: depending on the detail of your data, and your computer hardware, this can be heavy to render.
Now select some features and give them some values to move. I will exemplify with the pacific group, by moving them 100 km to West.
And here you go. all the selected states are now 100 km to the west (beware that my layer is in EPSG:5070 which units are meters).
Using this method, it's a question of trial and error to get the best dx and dy values for each state.
This solution will require some manual labor but it should work.
First, you should draw a buffer around each individual region using vector > geoprocessing tools > buffer(s)
I believe your projection is EPSG 4283 which means your map units are in degrees, so you should choose a low buffer distance like 0.05. Use the same buffer distance for each region.
Then, in the print composer, add each region separately as a new map. Make sure the scale is exactly the same for each map, so that you don't lose accuracy (in the case below, I used 500,000) Lock the layers of each map so that they show only one region and it's buffer. Change the opacity of the background to 0 so that the regions are easier to fit together. Then piece the regions together manually so that their buffers align.
The last step is to go back and remove the buffer layers.