Joining a MP server should not expose the client to risk of his player profile being erased.
A jerk scenario designer, server admin or hacker need only execute:
//initPlayerLocal.sqf
{profileNamespace setVariable [_x,nil];} count (allVariables profileNamespace);
saveProfileNamespace;
on the client.
Proposed solutions:
A) The client have a dialog appear when the mission executes 'saveProfileNamespace', including the variables which are being altered, with a 'Ok' and 'Cancel' option to reject the profile save.
B) The MP mission scripts not be able to read/write profileNamespace variables which are not already defined in missionNamespace. This would allow seamless 'saveProfileNamespace' without the ability for the scenario to datamine/dig into it and also prevent execution of the above code.
edit:
C) allVariables function to not support profileNamespace in MP, by default.