Macros, Functions, and Pure Functions are key, and “Select>RightClick>Collapse to Function” is one of the greatest things ever. Custom events are nice too.
Even with those solutions you will likely run into issues where you have to have delays and loops on a graph for some reason, or maybe you just want to keep certain elements visible for visualization purposes. Reroute nodes, variables, etc are all going to be essential to creating neat looking graphs.
Personally, I have so many functions in one blueprint that I am desperately waiting for them to add folders just so I can organize that little window.