@NElliott a common pattern I use for map/reduce scripts is to have a custom record that captures the input data of the map/reduce task.
An SS2 after submit:create user event on the custom record starts the map/reduce task with the data.
I mainly use this to capture a permanent log of the input and output of each map/reduce job, but this process also lets you switch api versions.
Your flow would be
SS1 Suitelet creates a custom record holding data --> SS2 user event after submit create uses N/task --> map/reduce reads input data from script parameters