The only thing I've done with subjectschemes is to demo a proof of concept to control valid values for conditional attributes. The subjectscheme maps can then be shared so all writers are honoring the same conditional processing logic for common cases, which is particularly relevant when content is reused across independent product repos using Git Submodules or other means. Oxygen uses the subjectscheme maps to control which values are presented in content completion popups and the Attributes view.
Besides DITA's provisions for filtering attributes for conditional content processing, have you also had the desire to filter by any of the topic metadata elements, such as category, featnum, or even othermeta? Has anyone added this capability to their own workflow, either in a pre or post processing phase to DITA-OT?
Metadata elements make their way into HTML output to allow the reader to filter or do faceted search at "browse time". It would seem natural to allow a writer to have the option to do the same at build time to define specific deliverables.
Metadata elements have their own attributes. For example, <audience> has @type, @job, @experiencelevel, etc., which wouldn't quite fit the conditional attribute model. Without resorting to specialization, perhaps conditional attribute groups could be used to emulate these cases with @audience="job(operator) experiencelevel(advanced)". It would be possible to then use Schematron or the Oxygen SDK to keep the metadata elements and attribute groups in sync to some degree, where a change in one updates the other and any differences could be caught and quickfixes offered.
It could be handy if these currently orthogonal uses of "metadata" could be unified.