If your data is infrequently used, its better to use S3 Standard - Infrequent Access for storage as it is available immediately and is cheaper than S3 Standard as long as data is accessed less than once per month.
You could also consider Glacier as it is much cheaper than S3 Standard - Infrequent Access but takes some time to restore (speed of restore is related to cost).
But if you still want to use S3 Standard, then you can write a script which runs on AWS EC2 instance or a S3 batch job which compresses the object and uploads them back in compressed format to S3 Standard.