You are correct that whilst the argument that the original term was replaced is pretty strong, the arguments for taboo being the reason for its replacement is much less clear-cut.
The first thing usually pointed to is that it is the Northernmost Indo-European branches (Germanic & Balto-Slavic, with Goidelic also doing so, but relatively recently) that have replaced the original word. These branches are all spoken in the areas where bears pose a more significant threat than they do in the regions where the other branches are spoken.
The second piece of evidence comes from accounts of Finnic taboos around bears in the historical period. These include avoiding the name of the bear in most contexts.
The third is that in more southerly branches we frequently see deformation of words for the most significant predators in those regions (e.g. Latin lupus and Greek λύκος "lúkos" have phonological irregularities as reflexes of PIE *wĺ̥kʷos, so to does Germanic *wulfaz; meanwhile Celtic and Armenian have replaced the term entirely, with Celtic having two different possible irregular reflexes preserved with different senses, *ulkos "evil" and *wolkos "hawk"). The argument then goes that early Indo-Europeans generally taboo-ised the most significant predator in the region, with that being Bears in the North of Europe, and Wolves further South.
Point one is not especially strong without point three, which suffers due to the fact that the expected Greek and Latin forms would be extremely similar or identical to the expected forms for the word for fox (although the reconstruction of this word is itself more than a little unclear), and so the irregularities there may have been motivated by a desire to avoid ambiguity rather than taboo. The Armenian and Celtic evidence is stronger, but still not really enough to establish a parallel wolf-taboo in other branches.
The second point though is the strongest. Finnic peoples had exactly the taboo that would give rise to this divergence into the historical period. All three branches that have replaced the word for bear in this way had significant contact with Uralic languages (especially Finnic) in the prehistoric period (when this change would have taken place).
Lastly, substitution of taboo words is pretty commonplace. Looking at English words for genitals we have words originally meaning tail, rooster, point, sheath, cat, & cut amongst others, with only cunt having any claim to continuing in its original sense. Whilst sex and bodily functions have been taboo for most of the historical period, it's entirely plausible that predators may have been similarly taboo in early pastoral societies like those we expect the early Indo-Europeans to have had.
Is it proven beyond all reasonable doubt that it was taboo substitution that led to this replacement? No.
Is it reasonable to assume that the taboo was specifically because of a belief that saying the name of the bear would lead to it appearing (as claimed in the XKCD comic below [link to the original], which gives an incorrect English expected reflex)? That degree of precision's definitely exaggerating our confidence in my opinion.
Is it a very plausible explanation based on circumstantial evidence that accounts for the distribution of terms meaning "bear" at least as well as chance replacement? Yes.
![enter image description here](https://cdn.statically.io/img/i.sstatic.net/IYTPB.png)
For the record, we'd actually expect something like Proto-Indo-European *h₂ŕ̥tḱos > Proto-Germanic **urhsaz > Old English *orx (the evolution of the *rhs cluster is unclear, I've followed the usual reflex of Proto-Germanic *hs > Old English x here and assumed the *r does not interfere with that) > Modern English *orx [ɔrks].
Edit: addressing the added secondary question of why we see only a single replacement, it's important to first note that we might be seeing the result of a chain of many replacements, where only the final one persists, so there's no reason to believe this does represent a single replacement in each branch. The more relevant question is why each branch (splitting Slavic & Baltic here) is consistent in its choice of replacement.
That could be explained if the taboo ceased to be held (and so people stopped replacing their word for bear, continuing whatever was the most common word at the time) before the disintegration of Proto-Germanic, Proto-Baltic (to the extent such a thing may have existed, which is unclear), and Proto-Slavic.
Estimates for those disintegrations vary, but estimates are usually the first handful of centuries CE for Proto-Germanic, and between the 6th-12th centuries CE for Proto-Slavic (although noting that the current word already appears in Old Church Slavonic Bible translations, so that latest that replacement can have occurred is nearer the start of this window), with Proto-Baltic (if it existed) likely disintegrating significantly earlier than either of these (note that whilst the surviving Baltic languages are all East Baltic and so diverged later, the Old Prussian word, clokis appears to be from the same replacement, and so this replacement must have taken place before the breakup of any putative Proto-Baltic). The split between Baltic and Slavic (or between East Baltic, West Baltic, and Slavic, if Proto-Baltic is not valid) has also been estimated to around 1400 BCE.
As such, assuming the taboo ceased to apply across all the branches at roughly the same time (for the sake of argument), that would need to have happened between 3400 and 2000 years ago (likely significantly earlier than 2000 years ago, because of the hard-to-date breakup of putative Proto-Baltic) in order to achieve consistent replacements within each branch, but different replacements between them. Of course, in reality a taboo would likely have persisted in some places longer than others, and it could have persisted in Slavic much longer (as late as the 6th century CE). If Proto-Baltic is not valid (and East & West Baltic are in fact branches of Balto-Slavic at the same level as Slavic), then it's likely that the Baltic replacement is the one that was current around 3400 years ago, with Slavic undergoing at least one further replacement in the next 1800 odd years, suggesting a later retention of any taboo that may have existed in Slavic.