> ISPs have different cache refreshing intervals
They're omitting the detail that ISPs are violating the spec.
If you set your DNS TTL to 3600 seconds, a caching resolver should store both that and when they received the response. Then, when another client requests the same name in 30 seconds, it should pull the result out of the cache and send it to the client with a TTL of 3570 seconds. This way, once 3600 second pass from the authoritative query, all the cached data is expired everywhere. If you know you're about to make a change you can lower the TTL to 300 seconds an hour before you make the change, after which the change should only take 5 minutes to propagate.
Some ISPs ignore the TTL and tell all their clients that they can cache the result for 72 hours so the clients don't make as many queries to their DNS servers. If you find your ISP doing this, stop using their DNS servers (or stop using that ISP) because it can obviously cause you problems whenever anyone changes a DNS entry and your ISP is handing out a stale one for you to cache for days. Maybe just never use your ISP's DNS servers in general.