It would be great if the tags file was always up to date.
One way to do this would be to manage the tags file
with a tool like make. Thus updating the tags would be
proportional to the number of files changed and it may
even be fast enough to rebuild after every file write.
The usage would look like
ctags --incremental changed1.c changed2.h
remove all tags relating to changed1.c and changed2.h
generate tags for these files
merge them into the existing file.