I am not sure how to use the org-capture framework, but something like this is close to what you ask for above. The idea is to use a hook function to check if your file exists and if not insert the content you want in it. You might want to add additional checks that it is an org file.
(defun special-follow ()
(let ((current-element (org-element-context))
(when (and (eq 'link (car current-element))
(string= "file" (org-element-property :type current-element)))
(setq path (org-element-property :path current-element))
(when (not (file-exists-p path))
(insert (format "#+TITLE: %s
#+STARTUP: showall latexpreview inlineimages
" path (current-time-string))))))))
(add-hook 'org-open-at-point-functions 'special-follow)
It would be interesting to see a capture solution too.