Regarding your second suggestion (adding an empty path in tabs.router.module):
The file tabs.router.module as generated by the ‘ionic start’ command already contains the empty path that you suggest, at the bottom of the routes array. I moved it to the top but that did not help either.
As a side note: the error message that you got is way more helpful than mine. That made me try Chrome instead of Firefox, which indeed gives me the same error message as you got.
Ah, you are right. I didn’t notice that. There is a tiny difference however. The generated code redirects absolutely to /tabs/tab1 which is not correct in this case anymore, since you moved everything up one directory. You have to remove the leading slash: redirectTo: 'tabs/tab1', to make it relative to the current location.
I think it is a bad choice in the starter template, because redirects stop working if the child module is placed somewhere else other then the root path. So I opened and issue here: avoid absolute redirects to root path in child module.