I would design something like this
Meta Tags :
The meta tags are content authorable and we don't know how many meta tags the content author would add, so it is good practice to create a separate tab called SEO or meta tags in the page properties and add a multifield control
- The multifield control should have two fields one is for key and another one is for values
- In the head.html you can iterate this multifield and render it as meta tags
Another advantage is you can configure this at the local page level and inherit to child pages without re-authoring on child pages
CSS and JavaScript :
It is not good practice to keep JavaScript or CSS directly in the page properties, instead of that what you can do is place all your CSS and js files in the client libs and load those in the page properties
You can keep path field in the page properties and let the author or superuser allow him to choose the clientlibs to load for particular page o or a particular site.
- Inside head.html read the path filed and load clientlibs
- The advantage with this is you can have better control when there are multiple websites and each site follows its own theme