I guess you could utilize most any website builder. It's mostly just scrollable div html elements with buttons, images, etc... and a bunch of css to style the living daylights out of it.
You can get away with avoiding html elements altogether to do GUIs in construct on a case by case basis. Things like text input is much simpler with the html element, but if you don't need many features you can do it with the keyboard and text object. Scrolling regions can be done with some masking, but admittedly I haven't seen a solution I'm happy with. The current solution amounts to using pin or something to attach objects to the scrollable area, then with it all on one layer you'd mask it with sprites on top with the destination out blend. The final step is some math to do the scrollbar and clamping to the limits of the scrollable area.
Again, I'd just deal with it case by case. A gui is the same as any other part of making a game. You break it up into simpler parts and see how to combine them.