I disagree with you - I do think that in this case is perfectly OK to educate editors that their titles cannot contain a quote - but obviously you still need to validate this and do the best possible.

You could:

- Do a post-processing C# template building block with a decent RegEx (always fun) to find this quote and replace it with, for instance `'`
- Change the content in the package before you read it with a c# TBB (you _can_ use a TBB to modify the content of a component in the package, just don't try to save it or make changes that would make the component invalid according to its schema) - bit rusty here, but you may have to use the XML of the component to do this instead of the `Component` class
- Use a pre-DWT c# template building block that loads your collection of videos, escapes their titles correctly - either with a replace or with something like [System.SecurityElement.Escape][1] (not 100% sure it helps you here, but worth a try) - then push the modified values to the package with a name like `escapedTitle_x` where _x represents the position of this title in the collection - if it matches your TemplateBeginRepeat (which it should if you start with 0) then you can use something like this in your DWT:

<!-- language: xml -->

    <!-- TemplateBeginIf cond="Component.Schema == 'Video Collection'" -->
      <a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '@@escapedTitle_${TemplateRepeatIndex}@@']);"  href="@@List${TemplateRepeatIndex}.Fields.link@@" target="_blank">
        @@escapedTitle_${TemplateRepeatIndex}@@
      </a> 
    <!-- TemplateEndIf -->


  [1]: http://msdn.microsoft.com/en-us/library/system.security.securityelement.escape.aspx