Upload (or buy) all your music to Google Music account.
Pin (make available off line) all the stuff you want always on the phone, and the stuff you listen to rarely, you can leave unpinned if you want. Do this while on wifi and there will be no data charges.
You can then dig around in Google Music, and see the progress of the downloading (settings / download queue). When it shows nothing queued, all your music is now on the phone.
Additionally, anything you have listened to recently will be cached on your phone, and listening again will play the cache rather than downloading again.
Of course, you can also sideload, but I've found that putting everything into Google Music is better, and if you sideload AND upload to GM, you end up with two copies showing in GM.