I would probably resort to expdp and impdp to refresh development data.

As posted all tables but the 12 large ones account for only 12% of the database so... here is what I would do.

1- expdp database excluding the 12 large tables-- set #1
2- expdp a consistent set of partitions of the 12 large tables-- set #2
3- pre-create database in development environment, be sure all tables are empty (truncate if needed)
4- impdp set #1 then impdp set #2
5- crack open a beer and be happy forever after.