Why should ETP be written as a singleton package? Why shouldn't it use its own package id rather than a subsite package id?
This is pretty much a central paradigm of the subsite-centric datamodel and programming paradigm.
Packages written to use subsites correctly will always work correctly when deployed on websites with a single subsite (the "/" subsite). I don't see that shortcuts such as seem to be taken by ETP make it any more robust than writing it to be subsite aware in the first place ...