One way would be to implement some form of adaptive control. If your range of time constants is small and known, you could use something called "gain scheduling"
where you determine before hand all the time constants you'll be dealing with (hopefully it is finite) and use if/then logic to define P I and D. It can be challenging to make sure you have covered enough variability to ensure stability and performance through the range. A good success story for gain scheduling is the Chinook helicopter. It can be done.
If you don't have a feasible prediction for what the time constants will be, you could look into using Model Reference Adaptive Control(MRAC). In this control scheme you have a reference model (your ideal system) with your chosen PID controller. The MRAC minimizes the error between what the plant is actually doing and what your reference model is doing. In this way you force your changing plant to act like your LTI model.
Or you could try using Model Identification Adaptive Controller (MIAC). Here the control scheme does system identification in real time and uses an update law for your controller. This one requires the most advanced skill of the three ideas.
Since your system is changing time constants over time, it is no longer LTI. This means you need to either do gain scheduling (pretty easy if you know the range of time constants) or system identification with update law for your PID.