'Cleanse' a SQL Server database file created with Instant File Initialization enabled?
A SQL Server BACKUP only backs up extents that are being used to hold data.  The unused extents are left behind by the backup.  When a page is used for data it will be formatted for use as needed, so that page would be free of old data. 

Therefore, all you should need to do is backup the database and restore it elsewhere.  The restored files will be of the same size as the original database, but the unused extents will be created using the capabilities of the target server.  This may be initialized fully or instantly initialized using the blocks of disk on the target server.

However, because extents are the level at which backups happen the unused pages in the extent could still have potential to expose some data when restored on another server.  Not as much as could be exposed on the source server, since the unused extents are not restored.