И то и другое - не очень, согласен. Но onclick все-таки ужаснее, потому что этот атрибут совсем не для этого предназначен. Тогда уже атрибут data. Я ж не спорю, что это спроный вопрос, о целесообразности такого метода с innerHTML. Я только говорю, что это можно удобно использовать.
Опять же - если так беспокоимся о семантичности, можно передавать параметры в самом URL в src, и просто разбирать, парсить URL.
<script src="domain.com/test.js?param=value"></script>