Having separate packages for your utility components and then domain specific components seems like a good idea.
What you can do is use the "package:packageA" style syntax when including the components without having to use relative paths.
<link rel="import" href="package:packageA/components/login.html">
As long as your pubspec knows where packageA is, you should be fine. This means when you change the path to the package dependancy to be either a git or pub url it will still work.