Acho que a única solução que você tem no momento é desativar todos os tamanhos de imagens intermediários:
add_filter( 'intermediate_image_sizes', '__return_empty_array', 99 );
E, em seguida, gere-os manualmente, dependendo do tipo de postagem, conectando-se a 'wp_generate_attachment_metadata', onde você tem acesso ao ID do anexo (e, portanto, à postagem principal):
function do_your_stuff( $data, $attachment_id ) {
// generate intermediate images
return $data;
}
add_filter( 'wp_generate_attachment_metadata', 'do_your_stuff', 10, 2 );