From 7.6 version you can use Interaction Layer feature to load templates dynamically.
This is easy to do, select trigger, select Reusable template loading action, and choose template
After this, copy the shortcode which is prompted in the field, and put it on any place on the page via shortcode block.
The same hack can be used to improve page speed on very complex pages. For example, you have some part of the page that is extremely heavy. You can put this part in a Reusable template, then, on your original page use one of the triggers, like Scroll, and put some value. Then use the Template loading action. So, this part will be dynamically loaded only when the user scrolls down a specific value.
The same can be used for clicking, hovering, and other actions.