Not so much to discuss here, cause as @Oaf pointed out that in the end it is an opinion, but: for dark Tyranitar is only significantly outperformed by 4 pokemons - darkrai, honchkrow, weavile, hydreigon. Of these, hydreigon is really difficult to get (I don’t even have one on 35), so three are left. Darkrai is mythical, so also hard to get. The other two are so frail that you depend on either dodging or rejoining the gym, both not an option always. So Tyranitar is still super useful for dark - none of the arguments are in pro for luxray here! Both magnezone and electivire are/were easy to get and outperform luxray in everything. Let alone the legendary.
For rock Tyranitar is even better: surpassed in dps only by rhyperior and rampardos ( terrakion is the same). And seriously, rampardos I rarely use. If it gets neutral damage it is gone when the first charged move hits, even dodged it left the stage way too soon. But here you have the argument of rhyperior, this is a hard one, if it has rock wrecker and you have three or four of them, you don’t need ttar, agreed. Thing is that rock wrecker was available for only some hours! And guess, some people were not able to play (me included). So I really depend on Tyranitar. One bar move, yes, it’s a thing, but this is usually not that bad disadvantage as you might think of, because of the ttar bulk.
And with all of that I didn’t even mention shadow Tyranitar, which outperforms most of the others even in dps - and still last longer than the frailer ones!! Let alone mega Tyranitar, whose dps could be theoretically better at least than absol and aerodactyl
And all that with a pokemon useful for TWO roles! Instead of only one for luxray…
The only thing on which I would completely agree is that luxray has the waaaayyyyyy cooler looks. When this is what we’re talking about, luxray wins by miles (luxray 9, Tyranitar 1)