I managed to do it like this:
define('WP_USE_THEMES', true);
require( '../wp-load.php' );
// Register all scripts and styles
do_action('wp_enqueue_scripts');
// Execute footer hooks
do_action('get_footer');
// output the js
wp_print_footer_scripts();
wp_footer();
It also outputted the enqueued CSS files, so I tweaked it by making a helper function
function dequeue_scripts_or_styles($slug) {
wp_dequeue_style( $slug );
wp_deregister_style( $slug );
}
So the final code is
define('WP_USE_THEMES', true);
require( '../wp-load.php' );
// Register all scripts and styles
do_action('wp_enqueue_scripts');
// Remove things that should not sit in the footer
dequeue_scripts_or_styles( 'wc-responsive-video-scripts' );
dequeue_scripts_or_styles( 'sage/css' );
// Execute footer hooks
do_action('get_footer');
// output the js
wp_print_footer_scripts();
wp_footer();
?>
</body>
</html>