I think Oban might suit you well. To be totally up front on New Years Day there be no ferries to anywhere, no trains and no local or long distance buses running. Everything except local buses restart on 2 January. So on that day you aren't going anywhere outside town without a rental car.
They have too much of a marine climate to normally get too much snow in Oban. But what that means is that one year I did Fort William for Christmas. And the entire 5 days it rained, and it wasn't just rain, it was monsoon type rain totally incessant. Now that was, even by their standards, unusual to say the least but I don't want to give you any kind of false expectations.
I, personally, almost always stay in the Royal Hotel, Oban. They do special festive packages (what I did at their Fort William Hotel)- https://strathmorehotels-theroyaloban.com/package_category/festive-breaks/
Now I know one person's great hotel is someone else's nightmare but just a suggestion.