Ghost Cleanup settings
I'm wondering if there's any way to change the default settings from 5 seconds and 10 pages to say every second or run over 20 pages


No there is none. Atleast I dont know as of now :-)


  if there's any other actions that can assist with this


From Paul Randal's blog - One method people sometimes consider is to force ghost cleanup to clean everything by performing a table or index scan (thus queuing all the deleted records up for the ghost cleanup task). 

select * from [your_problem_table] with (index = Index_that_has_large_Deletes)


Is there a possibility for you to partition the table and purge the old partition instead of doing deletes ? FYI .. SQL Server 2016 and up allows you to truncate individual partitions as well.

Also, you can (TEST and implement) - disable ghost clean-up (trace flag 661) and then rebuild index WITH ONLINE = ON option since you are using Enterprise edition.

If  you are using AlwaysON (with async) with replication, make sure to enable Trace flag 1448 - allows the replication log reader to move forward even if the asynchronous secondary replicas have not acknowledged the reception of a change. 

Make sure to read Deletes that Split Pages and Forwarded Ghosts from Paul White to see if your tables have triggers or LOB columns that would slow down.