Con SharePoint 2010 è possibile aggiungere nell'header della pagina dei link a file JavaScript o CSS tramite una Feature.
Ecco l'esempio:
XML: Feature.xml
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="F1B4D536-2FAC-49E1-B8BB-2A911CB3C317" 
  Title="Sgart - Add File to Header Page" 
  ActivateOnDefault="FALSE"
  Description="Aggiunge file js e css alla master page"
  ImageUrl="Sgart.Common/featureIcon.png"
  Scope="Site"
  xmlns="http://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="SgartHeaderFiles\Elements.xml" />
  </ElementManifests>
</Feature>

XML: Elements.xml
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Sequence="1" Location="ScriptLink"
      ScriptSrc="~sitecollection/_layouts/Sgart.Common/jquery-1.8.3.min.js"
      />
  <CustomAction Sequence="12" Location="ScriptLink"
      ScriptSrc="~sitecollection/_layouts/Sgart.Common/jquery.SPServices-0.7.2.min.js"
      />
  <CustomAction Sequence="110" Location="ScriptLink"
  ScriptSrc="~sitecollection/_layouts/Sgart.Common/jquery.dataTables.js"
      />
</Elements>
in questo caso ho aggiunto dei file JavaScript tramite riferimento al file.

Indirettamente posso aggiungere anche dei CSS inettando un blocco JavaScript che inserisce il riferimento al file css:
XML
<CustomAction Sequence="2000" Location="ScriptLink"
    ScriptBlock="document.write('& lt;link rel=\'stylesheet\' type=\'text/css\' href=\'~sitecollection/_layouts/Sgart.Common/jquery.dataTables.css\'& gt;& lt;/' + 'link& gt;');" 
      />
Attenzione: va fatto l'encoding html dei caratteri maggiore e minore all'interno dell'attributo ScriptBlock
Notare il riferimento al palceholder ~sitecollection che automaticamente inserisce la url della site collection
Per SharePoint 2013 le url vanno modificate mettendo il 15 ad esempio: ~sitecollection/_layouts/15/Sgart.Common/jquery-1.8.3.min.js

Vedi anche CustomAction Element (Custom Action)
Potrebbe interessarti anche: