When using itemBarcodeFallbackSearch you can check out items without a barcode by searching them with the callnumber or title keywords. This works nicely. You can return the items from the patron account only, as you can't scan a barcode for the check in. The problem occurs, if there is a hold on the item - with a hold, you can't return it from the patron account. So you have to delete the hold, return it and then recreate the hold again.
Alternatively you can use the "dummy barcode" that is needed anyway to return the item 'normally' and trigger the hold. A more elegant solution would still be nice. :)