Hi Anne,
I'd agree with Liam, custom web part would be the best option. Within its code, you can check CurrentDocument's type and based on this select strategy for generating Schema.org markup. The only important thing to mention, it doesn't have to be in HEAD, it could be in BODY tag, no problem. Check out this comment, for example.