You could also use streaming services instead of downloading. Most of them come with a mobile client that can be used in offline mode.
They do pay their artists fractions of a cent for each song listened to.
To me, this kind of service is clearly the future. It's especially great to discover new music. If you listen to the same 100 tracks all the time, it's probably not cost-effective though.
Some sites I know:
http://www.deezer.com/ (no software necessary, can run in a browser, offline mode with chrome, apps for iPhone and Android)
http://www.spotify.com/ (never used, but they are well established in the market)
iTunes can also do something similar but I don't know their offerings.