I might add a condition in the loop after Beets’s job like this (not tested):
#set my variable from beets's exit code
if [ ! "$beets_exit_code = 0 ]
cp -rf "$dir_path" /my/fallback_dir/
echo "[$date] Not imported $dir_path" >> $log_file
Another solution i said previously, can be to add a third option custom_script alongside asis or skip for the quiet_fallback “mode” who run script instead of implement code that i would be may be the only one who use it.