S3 Intelligent Tiering actually does help with this considerably though. They do try to shift your objects to the storage class that makes the most sense cost-wise based off of access patterns and don't charge anything additional for doing that.
There is a small per object/month charge for Intelligent Tiering. The 30 day minimum, even for objects in the Frequent Access Tier, can also drown you in prorated charges if applied to a high churn prefix.