Why don’t you use a script in one smart rule? A similar issue has been discussed here
In my opinion, having a bunch of smart rules doing basically the same is pointless (and difficult to maintain). Instead, a single rule (or a very small set) can use a single (or a small set) of scripts to distribute the documents to the corresponding groups/databases.
Also, you can write script that adds a new rule to the distributing script whenever a new subject is created. Which might be kind of tricky and will work only with external scripts. But still: It is feasible.