Their documentation talks about building a response file for the uninstall similar to the install response file, but you need the entire payload of the package to do it. Well, there's a much better way, but undocumented. In the uninstall keys, there is the "uninstallstring" value, well, that does work. However, you need to change the one command from -i to -u. That is not documented, but I figured it out based on experience. But, it gets a little trickier. That -u works for the service packs and updates, and you have to remove those FIRST. THEN you can remove the base install, which will require a -q -u to make it silent. Oddly, the SP's so far only need the -u and they are silent. You may need to test this as I am not sure how consistent this is across various versions, but the uninstall strings are basically the same, so I suspect it's consistent. That way, you can easily remove previous installs before running an upgrade in one script and need only the new payload files.
2013 Service Pack 6 removal
C:\Program Files (x86)\SAP BusinessObjects\setup.exe -u product.cr.patch-126.96.36.199-core-32
then run 2013 SP4 base install removal
C:\Program Files (x86)\SAP BusinessObjects\setup.exe -q -u product.crystalreports-4.0-core-32