Be careful about overlaying the OOTB headlibs.html and friends - there is a reason why Core Components Page has already seeded the implementation with "customheaderlibs.html" .. its because that's where you should put yours so you're not overlaying the provided one. If you overlay the provided HTML, what happens when Core Components/product changes something about them? Now you're stuck trying to manually reconcile changes down. Also, you lose the ability to use the clientlib include HTML template, which again, can evolve as new capabilities are added to the product.
You cannot put a defer/async attribute to the clientlib files as this is currently not an OOTB feature supported by AEM. If you do not need these files to be loaded on the head section, you can overlay headlibs.html and add your custom code to load the required project specific clientlibs.