You could have each of the arrays in the data structure in separate shift registers in that global without it producing much clutter (unless the cluster contains a lot more elements than the ones unbundled in the example), that way you don't need to do all the costly bundling and unbundling. But using the whole cluster structure isn't a problem for the global, I'm not sure why you say the global is best to handle smaller structures/arrays (?).
You could also use the global not just to hold the data, but include all kinds of methods to manipulate the data and do calculations within the global (a really "functional" global:-)). That way you'll always work on the data in the shift registers of the global, not copy it to other VIs.
In another post you say
you want to use a cluster of all the arrays because you want a structure easily understandable by humans...Are you thinking of other programmers...or of the users of the application? In some cases it's better to keep the data the way it is most efficiently processed by the computer, and then just "translate" it into a more understandable structure the few places the user is to see it.