Override field template with custom module
I'm sure there must be an easier way to do this but this is what I typically do:

1.
Register an overriding theme implementation with the Drupal theme registry. So, in mymod_theme(), add a new item. The variables key must match that of the media_youtube_video theme i.e.

/**
 * Implements hook_theme().
 */
function mymod_theme() {
  return array(
    'my_media_youtube_video' =&gt; array(
      'variables' =&gt; array('uri' =&gt; NULL, ...), // see media_youtube_theme() for this
      // bundle the template file with the module itself
      // i.e. theme/my-media-youtube-video.tpl.php
      'template' =&gt; 'my-media-youtube-video',
      'path' =&gt; drupal_get_path('module', 'mymod') . '/theme
    )
  );
}


2. 
Add a preprocess hook for the original theme implementation and suggest your new implementation here.

/*
 * Implements hook_preprocess_media_youtube_video().
 *
 * Or more generally, hook_preprocess_THEME().
 */
function mymod_preprocess_media_youtube_video(&amp;$variables) {
  // If your overriding implementation is not a template but 
  // is implemented in a different file, 
  // then remember to include the file explicitly at this point..
  $variables['theme_hook_suggestions'][] = 'my_media_youtube_video';
}


Suggestions are evaluated by the theme system in a LIFO fashion. You can read more about this here. 

Suppose you are aware that another module is also following the same approach as this one to override the implementation, then you can implement hook_module_implements_alter() and force your hook_preprocess_THEME() (see above) to be called last. You can read about hook_module_implements_alter() here.

This holds good for Views also. In summary, you just need to find out the correct unique name of the original theme implementation you want to override (typically defined in the source module), add a preprocess hook and add your overriding suggestion there.