Displaying a custom shortcode on a members profile page

On the buddypress profile page I want to display a custom shortcode. I have a couple of questions:

1) for the custom shortcode I am using the following but it isn't working:

function custom_shortcode(){
     $user_id = get_the_author_meta( 'ID' );
     do_shortcode( '[eo_events author='.$user_id.']' );
add_shortcode( 'eo_custom_shortcode', 'custom_shortcode' );

(shortcode documented here: http://docs.wp-event-organiser.com/shortcodes/events-list/)

the plugin author gave this to me on the assumption that get_the_author_meta('ID') returned the creator of the buddypress profile when used in the buddypress profile template. Is this correct?

The shortcode [eo_custom_shortcode] should work then? but it doesn't...

2) when I then include another working shortcode simply at the bottom of the single members buddypress template it works is this the correct way of doing it?

Any help much appreciated. Thanks