It's a very good question, when I was in the English school, a teacher told me that the most difficult part of learning a language is listening part, because it's very difficult to train your ear and a teacher can't tell you how to hear, how to understand. To me, listening is very difficult too. Many people say that music is good to practice your listening but, to me, it's not. Other way is with movies with subtitles, to me it's better so you ca hear in English an reading in your language and you link two things.
But definitely the best way is practicing with someone else. If you talk with someone about whatever you're going to have the necessity to understand him. If you listen to a movie or a song and you don't understan you just let it pass. But if you don't understand a person you are likening to, you are going to ask him what he said, and perforce your brain and your ear is going to be trained. I don't know why but I can understan better a person whom I'm talking to, than movies or music.