If you want control the movement type based on the entered storage location, then you have to develop an own interface and call BAPI_GOODSMVT_CREATE instead of using the standard MIGO transaction.
you should give an evidence to what you are saying under point 1 as it does not really sound logical. E.g. a screenshot of purchase order history and from the movement screen including the error message
That the "shortage quantity" goes to quality inspection is quite normal, as for SAP there is nothing really different , same material, same purchase order, same inspection setup.
Talk to your receiver, SAP expects that you do the receipt equal to the goods issue.
Receive everything and if you need your shortage storage location, then move it with 311 or Z11 to that location. Better you would call the shipping plant and inform about the difference, then they may check immediately their stock and could cancel the goods issue and do a correct goods issue instead of taking the quantity to the receiving plant and leaving differences in both plants with your approach.