Get current page_id before loop, in functions.php

I’m pretty sure you try to use this conditional tags to early, so they don’t work.

From Codex:

Warning: You can only use conditional query tags after the
posts_selection action hook in WordPress (the wp action hook is the
first one through which you can use these conditionals). For themes,
this means the conditional tag will never work properly if you are
using it in the body of functions.php, i.e. outside of a function.

So what should you do?

Just put your code in some action, that is run later.

function my_wp_action_callback() {
    if ( is_home() ) {
        add_action( 'shoestrap_below_top_navbar', 'my_custom_below_top_navbar' );
    }
}
add_action( 'wp', 'my_wp_action_callback' );

The other way to do this would be to add actions always and put conditional statements inside them:

function my_custom_below_top_navbar() {
    if ( !is_home() )
        return;
    // ... 
}
add_action( 'shoestrap_below_top_navbar', 'my_custom_below_top_navbar' );