And how do I do that when, for example, configuring a non-running system from a different system? Like, for instance, setting up embedded systems?
You don't _need_ the *ctl tools to configure a systemd system. Just use "ed -G" (or "vi" if you need some hand holding wysiwyg GUI) to edit the text configuration files. This is no different from sysvinit.
systemd and journald support live remote logging and what not, and if they doesn't all ready support reading of offline log files, they surely will. (not something I have looked at, but perhaps "systemd-journal-remote" is what you need).
The reliance on *ctl apps that have to actually run on the system is a big step back, towards Windows and how you can't really do much about the registry or event logs without a running and compatible Windows system, and for many things THE system it runs on.
This is the direction systemd/journald is taking us, and we've seen this before, with AIX. It didn't impress us then, and it doesn't now.
Those who don't know (Unix) history are doomed to repeat it.
Having to rely on systemctl is no different than to rely on eg. Bash, vi and all the nice GNU tools, without those, not much can be done.
I see no real world problem in either using the tools on the running system by using eg. ssh, or having a systemd compatible system to analyse log files on a remote system (either offline or live remote logging). In fact, I don't think this is any different from using sysvinit/rsyslog today, except that systemd offers better tools for analysing problems and much better security etc.