How can I increase the lifetime of a user access token?

Correct, I tend to periodically (like 15 minutes) check the token’s expirartion left using the validation endpoint and if it’s got less than 30 minutes left on it refresh it then

This will return a new access and refresh token.

To read/write chat the token only needs to be valid when the “bot”/script starts.
When the token expires the bot/script is not disconnected from chat, so no refresh needed

Yeah, and again, the token only needs to be valid when you create the subscriptions, so no refresh needed

Correct. The subscriptions will stay alive until you F5 page/restart the application.

Correct.