You are forgetting that using a seed, you'd just regenerate a chunk if the user ever revisted it. One method would be to only save CHANGES made to the world. Then you would never save chunks that were generated. Only the changes a player made to a chunk.
And if you are clever with your game rules, you let older changes slowly expire (for example, floods or earthquakes that reset areas of terrain). At that point you can get away with storing only a fairly small amount of changes...