You take
x seconds listened that month, and distribute to artists
a,
b and
c.
As a nice easter egg, I mean distributivity in the mathematical sense. y.x = y.(seconds(a) + seconds(b) + seconds(c)) = y.seconds(a) + y.seconds(b) + y.seconds(c). And y = subscription amount per month / total seconds.
The alternative is of course to take x amount of songs listened to, but this does not distribute over minutes.
I guess you can have a hybrid approach too. If the song is >10 minutes it counts as two songs, or maybe you have a continuous scale. All of the above is better for me than what Spotify does. Even better, let the paying customer decide.
But I agree that finding new artists is tricky. You can pay people to listen to your music in the hope that they later go back to listen to that music when you aren't paying them anymore.