Does switching from INT to BIGINT entails significant downtime?
It depends on the size of the table and the speed of the disk.  Maybe an hour, maybe days.  Check out pt-online-schema-change; it may be able to avoid most of the downtime.
How often does a schema survive intact for more than a couple of years?  Sure, do the math to figure out how soon the id will overflow.  If there is even a small risk, go with a bigger size.


If you are talking about AUTO_INCREMENT, then be away that there are a number of ways in which code could skip numbers -- INSERT IGNORE, REPLACE, etc.  Also, if you are involved with Master-Master or cluster replication.

If you already have replication set up, there may be a technique (using failover) to avoid more than a little downtime.