Again use the built-in replication tools.
You will be very hard pressed to do something you want to do better than replication itself that is acceptable to performance.
The only other alternatives are write you own programs which integrate with RMO to do what replication does under the hood.
Put triggers on every single table to build the logic you need to not replicate deletes, then use SSIS to transfer the data/deltas every certain period.
Use things like CDC and / or Change Tracking which again use replication and then again build your own packages to transfer data.
You’re then into ETL territory rather than replication but you may be able to find a suitable ETL tool but you need to do that hard work setting up the triggers/cdc/ct first.