We currently use both /etc/tmpdirs.d and /usr/lib/tmpfiles.d - the
first for SysVinit, the second for systemd.

Moving config files from /etc to /usr/lib?

Not really config files. And we have them already in that location, just
duplicated with different semantics.

I suggest to drop /etc/tmpdirs.d completely (after taking care that
the files are listed in tmpfiles.d

How can you ensure that? We don't know about files which have been added
by admins.

I can only take care of files as part of the distribution. Note that
even openSUSE 12.1 will not by default read /etc/tmpdirs.d at all unless
you use sysvinit.

The question is how to create the directories when booting with
SysVinit. We have two options:
1) Run /bin/systemd-tmpfiles from systemd to create these
2) Add some shell magic that reads and parses the tmpfiles.d and
creates those.

While shell-free bootup is a major goal of systemd it's a major reason
for others to stick with init scripts at all.

Since I see that systemd is already - even if not used by default -
required by a couple of packages, I'm going with the first option.

Having already tons of dependencies is a good argument to create even
more dependencies?

No, an argument to not reinvent the wheel a second time but instead use
one tool for all cases,