The workaround here is you add your own management system for filters, but this is also significantly awkward due to the lack of any filter var types.
It doesn't address many of the issues but it would be convenient to be able to animate the abstract filters that you add to the filters list, and have that animate propagate to all filters that have been added using that abstract filter instance. It would also allow for new usecases when you want a single animate to affect many things at once.
/mob
var/static/blur_filter
/mob/New(loc)
if(!blur_filter)
blur_filter = filter(type="angular_blur", x=1, y=1, size=0)
filters += blur_filter
/mob/proc/AngularBlurAllMobs(duration)
animate(blur_filter, size=5, time=duration/2)
animate(size=0, time=duration/2)