Reading the CARP terms and 17:114 conditions again, I think I see a way to save internet radio and improve it at the same time.
The statutory licensing says the radio station can't be interactive, and needs to send song title etc information, but not in advance- you musn't know what is coming up.
In practice, on the radio you'll often hear a song you own - when Sirens of Song is playing Dido, I probably have a higher quality version on my hard drive already.
So how about the radio station sending just an id defining the song to play - a CDDB id would work fine. If the client on my end knows I have it, it plays the local copy; only if I don't have it locally does it tune in to the radio station to stream it. Because of clauses C ii & xi, you'd have to miss the very beginning of the song this way (no advance notification), but you could keep this down to a couple of ping round-trips.
As the radio station pays per performance, it only pays for performing songs I don't already have, and saves a chunk of bandwidth as well as fees.
The client can help you buy the songs you don't own as a high-quality download or CD.