| Сообщение от Poznakomlus | 
	| хороший вариант подключить все одним файлом перед </body> | 
	
Этого было бы достаточно. Простой и практически беспроблемный вариант.
Poznakomlus, асинхронность тут зачем? Чтобы не задерживать DOMContentLoaded событие? 
И на заметку - вместо setAttribute лучше указывать свойства напрямую: script.src = ..., script.type = ..., script.async = ...