Software shouldn't really rely on files being owned/writable by certain users.
Sure, software shouldn't rely on files being owned/writable by *certain* users. But it's reasonable for software to rely on files being owned/writable by *a* user. Consider, for example, `mpd` and `subsonic`. Both programs are music servers, and therefore both programs do things like manipulate playlist files. (and keep a sqlite db of music info?)
If an admin wants a user application to run system-wide, it's his job to set up user and working directory.
That's a great ideal. However, it's an unrealistic expectation, IMO. There are likely users of Arch who: 1. Don't know that they are supposed to manually configure the permissions for their system services. 2. Do know that they are supposed to configure permissions, but still mess up. After all, it's easy to forget this step, doing things by hand is error-prone, and discovering the configuration process for each program requires some footwork (or, worse, trial and error!). I've been using Arch for a while now (one year? two?), and have thusly inspired several acquaintances to give Arch a shot. One is a former system administrator who now works as a manager, and the other is a software engineer. When I tell them that `sudo` is not installed, or that `cronie` is not enabled by default, they laugh, but they get it: Arch doesn't hold your hand. But this will just blow their mind, because it completely breaks the principle of least surprise. "You mean to tell me that the program I just installed will run as root, *by default?*" TL;DR: It is reasonable for programs to own certain files, and it is unreasonable to expect end users to make that happen.