Age is Key: Do not call a middle-aged man (e.g., in his 30s or 40s) `大爷`. It can be perceived as calling him old and may cause offense. For men closer to your age or slightly older,
大哥 (dàgē) is more appropriate. For middle-aged men in general,
叔叔 (shūshu) is a safe choice. `大爷` is generally reserved for men who are visibly of grandfatherly age (50s/60s+).