Ciphertext expansion is a known cost with FHE.
There are various research level approaches to reduce ciphertext but I think you are talking about what you can do right now.
First, ciphertext size in CKKS are driven by three main things: native word size, ringsize, and multiplicative depth. these are ususally determined by the parameters selected when building the crypto context, and we recommend using one of the standard settings based on your security requirements.
You already fixed your depth to a good small number. ciphertext size increases ~linearly with depth.
as for wordsize, the default for OpenFHE is 64bits as it is most efficient for most CPUs.
the ringsize is a result of the parameters used. You can make a call to determine what it is.
Here is the big thing: You can store up to ringsize/2 data points in a vector in a single ciphertext. storing one value only does not save any space. All math is one element wise on this vector.
I do not know of much you can do to reduce the storage requirements. If your use case is allowed to determine the index in the clear, then you can encrypt many rows of the data into one vector and store it in a single ciphertext.