Bueno, más o menos ya lo he hecho, porque no lo escribe en la cabecera <HEAD> si no después de la etiqueta de <form>, pero de momento me sirve. Explico un poco:
Plantilla.aspx.vb
Código:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim rutaScript() As String = Request.Path.Split("/")
Dim ruta As String = ""
For i As Integer = 2 To rutaScript.Length - 2
ruta += "../"
Next
ruta += "scripts.js"
Response.Write(Request.Path & "<br>")
Response.Write(ruta)
RegisterClientScriptBlock("script", "<script language='javascript' src='" & ruta & "'></script>")
End Sub
Aunque parezca un poco lioso, así consigo que esté donde esté la página que herede plantilla se enlace con el archivo scripts.js que está en el directorio principal.
Bueno, gracias y un saludo.