You can drop some of the frames in the trajectory file if you don’t need all of them
Depending on what atoms objects you have inside the file, maybe they contain arrays that are less important (e.g., tags). You can use ase info -v <filename> to write something.
You can attempt to establish a trajectory file using float32 rather than the default float64, but that requires non-trivial coding
You can either use ase.io.iread() to iterate over them and then save, or the command-line. Something like ase convert myfile.traj@::20 myotherfile.traj. See ase convert --help.
It’s wise to independently verify, e.g. using a script, that all your required data is stored correctly before deleting the old file.