It's taken me a few days but I have made some progress. There is a BADI method which could be used:
BADI_CHANGE_ATP_DATA-CHANGEATPMEX_RESB
Unfortunately this is for SAP internal use only so we cannot use it. Instead we have organised an ABAP developer to create a version of the BADI using enhancement spots which appear around the existing BADI calls. Hopefully this information might help others trying to do something similar.
This BADI also contains methods for adjusting other data during ATP checking:
CHANGE_ATPMEX_EBAN Change data when importing purchase requisition
CHANGE_ATPMEX_EBUB Change Data When Importing Stock Transport Requisition
CHANGE_ATPMEX_EKES Change Data When Importing Purchase Order Confirmation
CHANGE_ATPMEX_EKET Change Data When Importing Purchase Order
CHANGE_ATPMEX_EKUB Change Data When Importing Stock Transport Order
CHANGE_ATPMEX_RESB Change Data When Importing Reservation
CHANGE_ATPMEX_VBBE Change Data When Importing Individual Requirement Records
CHANGE_ATP_AFPO Change data when importing production order
CHANGE_ATP_REUL_RESB Change Data When Importing Stock Transfer Reservation
CHANGE_ATP_VBBS Change Data When Importing Total Requirement Records
CHANGE_ATP_SB Change Data When Importing Shared Buffer