There’s going to be many ways to tackle this sort of thing but my personal initial thoughts would be use more containers and less stacks, or containers and stacks together.
I would create a section, split it horizontally (make sure you’re using the Advanced sizing of course) on Desktop and vertically for Mobile, (probably vertically for tablet too since it sounds like there will be potential for a lot of content in them to squeeze into columns with limited space), and then create 2 additional empty see-through containers, just empty boxes, 1 for each of the section column partitions. Once you’ve placed the containers into the columns make sure you set the height of the overall section and importantly the height of the split columns to Auto so they’ll wrap to the height of your container boxes and leave no empty space (There’s a few important details about this at the bottom of the post in italics). Also you probably want to set the containers to be 100% width of the columns and check they are docked into their rightful columns (and rows in mobile) and not spilling across which sometimes happens.
Then split those new containers vertically into however many parts you want and attach 1 page element (text etc) per section of the split container and then set the container segments AND the container total heights to Auto so they will also wrap with the dynamic content and leave no empty space. You can set a margin between the text and container segment if you want a little space to separate your pieces of content just like you would with stacks.
Then set the 2 master containers to be anchored/aligned to the tops of your split section, that way if the desktop content on left or right is more full or emptier than the other they’ll still both stick to the top of your section and not float in empty space within your section columns, also because the container segments are all set to auto height they will vertically squish up or grow depending on the dynamic content without effecting anything else.
The only extra step in Wix Studio is that even when you set an element to Auto height it doesn’t actually shrink as it should (this works properly as it should in Editor X, weird how broken it is in Wix Studio currently). Unfortunately you will have to manually use the blue handle at the bottom of your sections and containers and just pull them up as far as possible right over your content to the top of the page and let go so it snaps to the smallest amount of space available. Then it’ll be wrapped tightly to the text, although you may have to then adjust any margins between your content and containers again so this step should come early in your process. You’ll get used to it the more you play with it and hopefully they’ll fix this weird issue soon as it is REALLY annoying and defeats the purpose of Auto sizing entirely, grr! 
But what you’ll be left with is sections that grow and shrink depending on the dynamic content available, always dock to the top so there’s no empty space above the content and with columns that interfere with each other as little as possible if there is a disparity in the different column contents.
Also, you can still use text stacks, here’s how I imagine your content could look first without stacking and 2nd with stacks with … representing the container sections:
Unstacked version:
… … … …
Name:
… … … …
(dynamic name data)
… … … …
Occupation:
… … … …
(dynamic occupation data)
… … … …
Stacked Version:
… … … …
Name:
(dynamic name data)
… … … …
Occupation:
(dynamic occupation data)
… … … …
Hopefully this makes sense, if not I can make up a little test page to demonstrate roughly how it’d look if you want! 