I don’t think there is a better way, check for example “New tab override” addon which also uses manifest “chrome_url_overrides” and then while his page loads it can redirect it to where user set it:
https://github.com/cadeyrn/newtaboverride/blob/master/src/manifest.json
https://github.com/cadeyrn/newtaboverride/blob/master/src/js/core/newtab.js
There are also some “unforeseen consequences” when not using the manifest file, like the addressbar not being empty plus not being focused.