Securing LOAD DATA LOCAL
Create stored procedure which performs LOAD DATA INFILE. 
Specify its DEFINER attribute as a user who have rights to import data (root@localhost, for example). 
Specify SQL SECURITY DEFINER attribute.
Grant the user to execute this procedure.


Result: when user calls this SP it is executed with the rights of its definer - it is enough to import data. Even if the user called SP have no rights to this table at all (I'm not talking about the FILE right).

You can check any additional conditions in the procedure (current username, hostname, day of week, etc.) and perform import or not dependent by them.

Filename, tablename, additional data can be transferred into SP as parameters and/or via user-defined variables (which existence and value can be additional checkpoint).