Is there a best practice way of doing this? Some options I can think of are:
By understanding your question, You want to lazy-load your js/css/html . You can achieve this using two plugins
OcLazyLoadis used to load the dependency files and also to inject the AngularJS modules on the fly.
So you can use
Require.js to load dependencies between modules listed in code and
OcLazyLoad to inject Angular module on fly . And for your question regarding
angular itself on fly, I don't think you can do that in this case.