if you want to keep the current setup, try to hook in early and use do_shortcode()
:
function av_standalone_doc_404($content)
{
remove_filter( current_filter(), __FUNCTION__ );
if ( has_term( 'standalone-document', 'formats' ) )
{
$filtered_content = do_shortcode( $content );
// …
If you want to avoid repeating shortcode outputs use a static variable in the shortcode handler:
function shortode_handler()
{
static $done = FALSE;
if ( $done )
return;
$done = TRUE;
// create the shortcode output; this will happen only once.
return $output;
}