Yes I've often wondered if that's it - that there are too many variables to control for. Perhaps that & some negligence as well. Fixing nagging issues doesn't seem to be a strongpoint of any company these days. It seems that everyone's interested n pushing out new tech, but not solving the already existing problems. Sometimes the new tech obviates the need to fix the old problem(s), but often this is not the case.
Sonos seems to work very well, & I've been considering it as an option. Perhaps it benefits from being a 'closed' system - it creates its own wireless network over which its components communicate. I listened to some piano on my friend's Sonos the other day, & I didn't note any static issues. And no drop-outs, of course. The UI/browsing of the iOS app seemed stellar as well. I may get a Sonos Connect to hook up my existing sound system wirelessly (though at $400 for the Connect & Bridge, it's steep).
For now, my solution has been to put all my music on a Synology DS214play, & use that as a DLNA server for my Yamaha receiver. On the Synology, one can enable transcoding (to WAV, so it should be lossless), which helps since my Yamaha can't decode Apple Lossless files. One can also customize the browsing hierarchy that the DLNA client 'sees' when browsing the music on the DLNA server. Hence, I set up a 'Genre-->Artist-->Album' browsing hierarchy, & this means browsing my large music collection using the Yamaha receiver iOS app is practical. Since the Yamaha is decoding the files itself, there's no loss of quality. No dropouts either. My only complaint is that the browsing hierarchy still doesn't remove artists from CDs that are compilations from the list of artists (hence, the artist lists for any genre are still far too long). Also, my Yamaha receiver (RX-V473) hangs every time you return to the music list off the server after restarting the receiver. The workaround is to switch the input to a different network-based input (like 'Net Radio'), then back to 'Server'. This forces it to rescan for available servers, I suppose, and prevents the hanging.
My point is: putting your music on a Synology & then using the DLNA capabilities of your receiver, or a PS3 or Xbox or similar DLNA client (e.g. a TV), does work. Airplay would've been more elegant, but has far too many issues.