Es sind schon richtige Anmerkungen in deinen Gedanken und die stimmen auch großteils. Ich sehe es so, je mehr Gateways du hast, umso größer die Wahrscheinlichkeit, dass dir auch kein Telegramm "durch die Lappen" geht.
Man muss ein bisschen Aufwand betreiben, um im ioBroker z.B. diese Telegramme ordentlich zu behandeln.
Es gibt hier im Prinzip 2 Grundansätze. Zum Einen kannst du den Shelly Adapter nehmen und im Script die Kompatibilität zu diesem aktivieren, das ist die bequemste, aber auch eingeschränkteste Möglichkeit.
--> Der Shelly Adapter kennt ja z.B. alle Plus-Shellys und jeder dieser Shellys, der per MQTT dann BLU-Informationen liefert, tut dies über einen JSON String, wo alle "Datenpunkte" des Blu-Gerätes drin enthalten sind. Der Shelly Adapter parst diese und sortiert sie und kopiert dann die Daten gemäß der MAC Adresse um auf neue Datenpunkte, wo er z.B. für eine bestimmte Blu-MAC-Adresse dessen Daten verwaltet. Wenn jetzt mehrere Gateways dasselbe Telegramm eines Blu-Gerätes liefern, filtert der Adapter das soweit raus, dass letztlich nur 1 Update der Datenpunkte des Blu-Gerätes erfolgt. Wie genau der das intern macht, weiß ich nicht.
--> Der Adapter ist aber recht beschränkt in seinen Inhalten und ich weiß auch nicht, ob der mit den H&T zurechtkommt.
Der 2. Ansatz ist, einen separaten MQTT Adapter zu nutzen, also nicht Shelly Adapter. Dort bekommt man dann halt keine BLU-Geräte als eigene Datengruppe, sondern sieht nur die Plus-Shellys und deren Daten. Diese haben dann zwar einen Datenpunkt mit BLU, dort findet sich dann aber nur 1 JSON String und keine separaten Datenpunkte für z.B. Bewegung erkannt, Helligkeit, Batterie etc..., sondern man muss selbst diesen 1 Gesamtstring parsen per Script etc. Dafür hat man aber mehr Informationen, die man auslesen kann.
Die BLU-Geräte senden mit jedem Telegramm auch eine Telegramm-ID mit, die sich mit jeder Nachricht immer um 1 erhöht, bzw. beim Überlauf wieder bei 1 anfängt. Das kann man nutzen, z.B., wenn 3 Gateways laufen und man da halt 3 Telegramme empfängt, diese 3 JSON Strings analysieren und schauen, ob die Telegramm ID einer Message gleich oder unterschiedlich ist, um zu filtern, dass es dieselbe Nachricht ist, die von mehreren Gateways übermittelt wurde, oder ob es unabhängige Telegramme waren.
Ich habe beides probiert, bin aber zumindest aktuell beim Shelly Adapter geblieben, weil ich auch viele andere Scripte laufen habe, die mit den Datenpunkten der Plus-Shellys arbeiten und dann müsste ich das alles anpassen... Ich nutze aber aktuell auch nur BluMotion und das läuft für mich so zuverlässig.
Die Variante mit Script ist halt grundsätzlich eine Notlösung im Moment, um per MQTT an die Daten zu kommen. Das ist eine unverschlüsselte Übertragung ohne aktive Kopplung, deshalb ist es halt auch so, dass jedes Bluetooth Gerät, welches Advertising frames schickt, die diese Struktur haben, vom Script erfasst und auf MQTT formatiert übermittelt werden. Klar, in jedem Gateway jetzt per Blacklist die unerwünschten einzutragen ist ein bisschen nervig, aber der Aufwand hält sich eigentlich in Grenzen. Wenn du das am PC machst mit Editor, z.B. Notepad++, und da die Scripte für jeden Plus-Shelly verwaltest, ist das ganz gut zu handhaben würde ich sagen.
Vielleicht findest sich ja jemand, der das Script anpasst und eine Whitelist anstatt Blacklist umsetzt, das wäre glaube ich für die Hausautomation der passendere Ansatz.