There is no problem with adding a read parameter to the Storage Class to instruct the formatter to skip reading the footprints. This is discussed in DM-26761 (which is now a duplicate I think).
The only way at the moment butler can be told by the pipeline not to write the heavy footprints is for the pipeline to strip the heavy footprints out before putting the dataset. Formatters can't take parameters for writing because all previous requests have been people asking to specify a parameter to control the file format or things like compression options and those should never be something that a butler.put should have to care about because the butler user is not meant to know the format of the file that is being written. Those types of changes are controlled by datastore configuration of Formatters and writeRecipes.
We could consider a put parameter but it would have to be something that could be implemented by acting on the Python object itself (and so always be supported for the StorageClass regardless of file formatter) and not solely a special feature of a Formatter (get parameters have the same property – the storage class delegate has to be able to handle them if the formatter could not)