I actually do that in my personal config .. Maybe binding "<" in org keymap is the simplest way.
(defun modi/org-template-maybe ()
"Insert org-template if point is at the beginning of the line,
or if a region is selected. Else call `self-insert-command'."
(interactive)
(let ((is-region? (use-region-p)))
(if (or is-region?
(and (not is-region?)
(looking-back "^[[:blank:]]*")))
(hydra-org-template/body) ;Wrapper function for `org-try-structure-completion'
(self-insert-command 1))))