$GLOBALS[‘hook_suffix’] variable empty

I thing you are missing the context. $GLOBALS['hook_suffix'] is available on any action fired after admin_init.

Now, if you tried something like add_action( 'admin_footer-'. $GLOBALS['hook_suffix'], 'myfunction' ) outside of any function, you are not going to get anything.

But if you do it – add_action('admin_menu', 'do_hook_to_footer') and put the earlier hook within the do_hook_to_footer function, it will work.

Or, better you try like this –

<?php
/** Plugin Name: WPSE(#152404) $hook_suffix Test Plugin */
add_action( 'admin_menu', 'hook_that' );
function hook_that()
{
    add_action( "admin_footer-{$GLOBALS['hook_suffix']}", 'test_that' );
}
function test_that()
{
    echo "<h1>I AM HOOKED TO <code>admin_footer-{$GLOBALS['hook_suffix']}</code></h1>";
}