Racism and other social problems are everywhere in Pakistan. Urdu-speaking community is having it better than any other group in Pakistan--be in Punjabis, Sindhis, Balochis, or Pashtuns. You folks are urbanized completely, have better incomes and more literacy than any other group, and have over-representation in media, journalism, and so on. So please, take a step back and realize that yes, I'm sure you do face problems and social issues, but its not that others are enjoying and you guys are getting the bad end. You guys are having it way better than everybody else.
Yet, other parties don't call for India support, don't get funding from RAW and admit it, and don't call for NATO to intervene. If they did that, they'll be decimated by their electorates because Pakistan comes first before anything else (as it should be the case). However, MQM does all of these things and consistently get votes by Urdu-speakers just because of the fact that MQM is of same ethnicity? THAT is something that is very problematic to rest of the Pakistan.
------------
And yeah, the structural reasons you explained make sense (PTI's lack of organization and presence and so on). But please, take this idea out that Muhajirs (never use this word again!! Wtf is Muhajir?!!!) are discriminated against is just plain wrong. Yes, as I said, I'm sure there's racism and other issues..but Urdu-speaking Karachites still have it much, much better than rest of Pakistanis.