@mbezzo we are using a Self Service script to backup our departed users as well. We use Cocoa Dialog to show the progress. It is not as clean as looking at the output on the command line but it gives a basic idea of what is happening in the background. This part of the script would require adding Cocoa Dialog to the /Library/Application Support/JAMF/bin/ folder on the client.
Below is not the full script but just the progress bar portion. It assumes you have mapped an SMB drive to /Volumes/whatever/ and created appropriate folders and have a variable for the username.
# create a named pipe
rm -f /tmp/hpipe
mkfifo /tmp/hpipe
# create a background job which takes its input from the named pipe
/Library/Application Support/JAMF/bin/CocoaDialog.app/Contents/MacOS/CocoaDialog progressbar --indeterminate --stoppable stop enabled --title "User Backup Process" --text "Please wait..." < /tmp/hpipe &
# associate file descriptor 3 with that pipe and send a character through the pipe
exec 3<> /tmp/hpipe
echo -n . >&3
# do all of your work here
echo "0 Starting Copy of Desktop" >&3
caffeinate rsync -ahP /Users/$username/Desktop/ /Volumes/whatever/Desktop >&3 2>error.txt
echo "0 Starting Copy of Documents" >&3
caffeinate rsync -ahv --progress /Users/$username/Documents/ /Volumes/whatever/Documents >&3 2>>error.txt
echo "0 Starting Copy of Downloads" >&3
caffeinate rsync -ahv --progress /Users/$username/Downloads/ /Volumes/whatever/Downloads >&3 2>>error.txt
# now turn off the progress bar by closing file descriptor 3
exec 3>&-
# wait for all background jobs to exit
wait