What’s wrong with having multiple, increasingly broader definitions for a word? We do this with so many other words in our language, why not a religious title? We do this with other faith traditions too. The largest body of Mormons (the LDS Church) objects to anybody being called Mormon besides them, yet most of secular society doesn’t care to get in the middle of a theological match between the LDS, FLDS, Apostolic United Brethren, etc. and so we frequently use “Mormon” to refer to all braches of Brigham Youngite religion, no matter the group. Almost every Jew I’ve met objects to the phrase “Messianic Jew”, except of course actual Messianic Jews. I personally don’t care to get in the middle of their quarrels, so I gladly augment my speech depending on whom I’m speaking to. If I’m speaking with an Orthodox Jew, I refer to “Messianic Jews” as Christians. If I’m speaking to Messianic Jews, I say Messianic Jews.
I have no problem using the word “Christian” in secular (or at least non-Catholic company) to refer to members of the so-called quasi-Christian sects (assuming they themselves do not object to being called Christians), and then when in Catholic, Orthodox, or Protestant company referring to them as non-Christians. The key is recognizing your target audience and properly augmenting your word choice to get your message across.
I’ve seen some Catholics argue that the term “Catholic” can only properly be used in regards to things that are explicitly in communion with Rome, and such individuals would lump the SSPX, all Sedevecantists, and other quasi-Catholic groups as Protestant. This may work well in Catholic company, but surely if anyone in your audience is non-Catholic they would likely be confused as to why a group that denies all of the 5 Solas and embraces none of the Reformation theology is lumped together with actual Protestants. The point is the meaning of a word entirely depends on your audience’s usage, and insisting on strict uniformity of language is futile.
If, on the other hand, I found myself in a purely academic argument with another person on the utility of using one definition of the word over another, and I was attempting to persuade them to embrace the Catholic definition, I would first limit the scope to Nicene Christians. A Christian is a person who affirms the Nicene Creed, either explicitly or implicitly. I’d argue that this is a historically tenable position as every Christian community in existence today that can trace its lineage back to the 4th century affirmed the Nicene Creed. By this standard of historicity, it becomes a matter of objectivity to say that 21st century “Christians” who cannot affirm the Nicene Creed are functionally non-Christian. This definition of “Christian” that I’m using will obviously exclude even more than merely the Mormons and Jehovah’s Witnesses, but so be it. I cannot at the present time think of a more objective standard by which to judge the Christianity of a denomination (lest I run into all the theoretical problems that arise in self identification that the OP presented with regards to Mormons and Muslims).