the best option will be as below
1. add additional attribute in the schema
2. create new dataset from the same schema and profile enable it.
3. take back up of old dataset in non profile enabled dataset
4. ingest historical data, and schedule incremental data into the new dataset including data for additional attribute you have just added. but while ingesting historical data make sure you use a different _id.
5. drop the old dataset. only by dropping the dataset, data will be removed from profile store.
option 1 in your question will be having challenges as you mentioned having multiple datasets, and processing incremental data to multiple datasets and so on.
Option 2 wont work, as by deleting the batches it will only delete the data from data lake not from profile store
option 3 also not possible.