dupe Why restrict the "super safe" option to a single operation and why the payment operation specifically?
I may be misunderstanding but you say that 10kb is about 10 payment operations. If so, you can surely support a couple of arbitrary operations in the "super safe" method can't you?
Actually, why can't you relegate the restriction to the javascript library. In other words, the js library could parse the transaction as JSON (or some other human readable format) and check the size of the transaction before passing it on to the ledger. If the size is to big, it could just return an error to the caller. Otherwise, if the size passes inspection, it could pass it on to the ledger.
What happens if you pass too much data? Does the device crash?