Disable load scripts and styles not working

Try the following:

function mytheme_deregister_scripts_and_styles(){
  $unwanted_scripts = array(
    'photocrati_ajax',
    'photocrati-nextgen_basic_thumbnails',
    'photocrati-nextgen_basic_extended_album'
  );
  foreach ( $unwanted as $script ) {
    wp_dequeue_script( $script );
    wp_deregister_script( $script );
  }

  $unwanted_styles = array(
    'style_1',
    'style_2'
  );
  foreach ( $unwanted_styles as $style ) {
    wp_dequeue_style( $style );
    wp_deregister_style( $style );
  }
}
add_action( 'wp_enqueue_scripts', 'mytheme_deregister_scripts_and_styles', 99 );

It looks like you may not have it quite right:

wp_deregister_script('photocrati_ajax');
wp_deregister_style('photocrati-nextgen_basic_compact_album');
wp_dequeue_style( 'photocrati-nextgen_basic_compact_album' );

If they have already been registered and enqueued, I’d make sure to both deregister and dequeue them.

Also, make sure to use the _script commands on the scripts and the _style commands on the styles.

If they are not using wp_enqueue_styles…

You can remove items added via other actions and filters by using the remove_filter and remove_action items after they are called but before they are fired. (if the add_actions are placed on init, then you could put your actions to remove them later on the init hook)

If they manually draw them into the plugin
Then that is just bad design … and you will likely have to edit their plugin and just comment out the place they add them at.