Unfortunately the jamf recon with blanks does not work. At one time you could send a space instead of a null value to the recon and it worked, but once the JSS moved to version 9.x it stopped working. The only way in my testing I've been able to do it is with an API script, as mentioned on the linked thread. That was the script I was referring to, but as I mentioned, that won't do a bulk operation. It requires each Mac to run a policy to run the script to blank out its own record. If the Macs are still in use right now it may be possible, but I'd imagine if all the Macs are sitting in carts already, that might not be so easy to do.
I took the same basic script I had put together and came up with this, which you can run from a Mac that is on your network (can reach your JSS)
The basic idea is, you first need to output a csv file from your JSS in the following format
1field 1: Mac Name
2field 2: JSS ID
That's all the data you need for this. If you add additional fields beyond those, as long as the first 2 columns are in that order it should be OK.
Here's the thing though. The .csv file should be opened in an application like TextWrangler, and re-saved to make sure its using Unix line breaks, otherwise the loop process doesn't work in my experience. Here's a screen shot of the settings from the Save As window of TextWrangler, where I changed the Line breaks and the encoding to UTF-8 and saved it.

Save the script below with a name, like "bulk_delete_location.sh" or something, wherever you want, make sure its executable in Terminal:
chmod +x /path/to/bulk_delete_location.sh
Then you can run it like so:
/path/to/bulk_delete_location.sh /path/to/MacList.csv
where MacList.csv is the csv file you saved out of TextWrangler.
Here is the script. Make sure to fill in the ** sections with actual API username/password and JSS URL information.
1#!/bin/bash
2
3## Change these 3 variables to match your setup. API account must have API write privs
4apiUser=" ***** "
5apiPass=" ***** "
6jssURL=" ***** "
7
8csvFile="$1"
9
10if [ -z "$csvFile" ]; then
11 echo "No file was specified for the script. Type in a file path and name after the script name in Terminal and try again."
12 exit 1
13fi
14
15if [[ -z "$apiUser" ]] || [[ -z "$apiPass" ]] || [[ -z "$jssURL" ]]; then
16 echo "The API username or password or JSS URL were not specified in the script. Please add these details and try again."
17 exit 1
18fi
19
20## Create the xml for upload via API
21echo "<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22<computer>
23 <location>
24 <username/>
25 <real_name/>
26 <email_address/>
27 <position/>
28 <phone/>
29 <department/>
30 <building/>
31 <room/>
32 </location>
33</computer>" > "/tmp/blank_location.xml"
34
35cat "$csvFile" | while read Mac; do
36 MacName=$(echo "$Mac" | cut -d, -f1)
37 MacID=$(echo "$Mac" | cut -d, -f2)
38 curl -sfku "${apiUser}:${apiPass}" "${jssURL}/JSSResource/computers/id/$MacID" -T /tmp/blank_location.xml -X PUT
39 if [ $? == 0 ]; then
40 echo "${MacName}'s Location data was removed"
41 else
42 echo "Failed to remove ${MacName}'s Location data"
43 fi
44 sleep 0.5
45done
I put a short sleep between each loop just so it hopefully doesn't do a DDOS on your JSS :) I strongly suggest you go slow and experiment with this by splitting it up into small groups first. Maybe 50-100 Macs at a time and see how it goes.
Use at your own risk. I haven't tested this on our live JSS and I don't plan to.