Dirk's suggestion is probably the most common solution and JoeJ's would be effective. But, if you have need of tighter bounds the manner I've always used is to simply compute the bounds into the animation itself at point of export. It's the same cost as computing an extra joint and you can get accurate bounds. If you are doing blending, you simply take the max bounds of all running animations. It is not quite as performant as a single unified bounds but it is better than the capsule method since you have no traversal involved, but it is not as tight when using blended animations.
At this point, the suggestions should solve whatever you are looking for. The benefits/detriments are:
Unified bounds: No computation overhead. Sloppy so often animating even if not in view.
Capsules: Relatively tight bounds. Requires a hierarchical traversal, can cause cache issues if you have lots of characters.
Animation driven: Perfect for single animation, not as tight as capsules when blending animations, but tighter than unified. Cost is the same as an additional bone in the skeleton and costs no traversal.