People of the army and people of other political parties (including MQM) do not like Imran Khan simply because he has the sense to criticize what is wrong. He challenges the army's position of unfair and absolute power and interference in Pakistani politics, he challenges the rule-by-the-gun policies of the MQM, he challenges the twisted Islamic ideas of the Taleban, he challenges the wait-and-see, some may say lazy, policies of the PPP, he challenges the influence, some say puppetry, of the Americans in the region and so on.
Basically, he calls a spade a spade, and people don't like that. If that makes him an opportunist, so be it. From a completely neutral perspective (I have no family members close to any political parties, and only distant relatives in the army, so I am as neutral as you can get) he seems to be the only guy who actually says what is on the people's mind. We've given all the other jokers a chance, why not him? I disagree with him on many things (his policy on FATA trouble is something I don't like) but at least he is a man of action and a man of thought.
You really have to be blindfolded to not notice that he seems to have the people's pulse in his hands. If he criticizes the West, he has good reasons for it. If he speaks against the Army, he has good reasons for it. No single organization in Pakistan is purely good and purely evil (yes, this may hurt some feelings, but it is true). The entire reason this thread was started was for the purposes of character assassination. If we're going to assassinate someone, let's start with the leader of MQM (quaid-e-my-backside), lets start with Bush, lets start even with Musharraf, people who actually have blood on their hands.