Best way to support a long-running Activity without running into an Activity Timeout Error?

Workflow timeouts are not related to activity timeouts in any way. So don’t change them for this use case.

You want to specify a long (the longest possible activity execution) StartToCloseTimeout. And then a short HeartbeatTimeout (let’s say 1 minute). If heartbeat timeout is specified the activity must heartbeat periodically with a heartbeat interval that is lower than the heartbeat timeout. This way an activity can execute for a long time and fail fast.

See this presentation that explains the activity timeouts in greater detail.