Essentially your biggest competition is now the businesses close to you so I would start by doing an in-depth competitor analysis to see what they have that you don't.Actually, yes. Banff is a major tourist destination and there are lots of hotels on that same street. One is even called Inns of Banff.
If that's the case, then I'm not sure how that might be solved.
For most cases, I'm seeing it as a sign that older listings are more trusted. I think it's also a sign that some of the external factors that everyone sees aren't really the main driver of ranking. I think it's continuing to get more complicated and not as easy as adding a few photos, categories, inside tour etc.
Maybe Google will tweak it, who knows. I'm just not betting on that. I have yet to run across a case that isn't solvable with enough work. If people are looking for an instant fix, they should know that hasn't existed for a long time in the world of SEO
I don't think it's a bug at all. I could be wrong, but I'm seeing too many patterns among the "missing businesses" to think it's not intentional. I think 2 things are happening right now based on what I've seen.
1. I believe Google is A/B testing at the moment which explains the crazy fluctuation we're still seeing daily on trackers like Algoroo
2. I believe the criteria for the local search results filter has changed and is now filtering businesses in the same category in the same building. I have a client in NYC who is popping in and out of the 3-pack and every time he disappears, the guy in his building who offers the same service appears and vice versa.
I have a few more observations I'm consistently seeing that changed on the filter as well that I'll be putting together an article on hopefully next week.