In regards to using a reference proxy
In my investigations this is only partly a solution, as follows:
Yes, you do not have to pro-actively retrieve the related record (because you create a proxy record), but when you flush (commit) the update transaction it still first executes a select statement to retrieve the related record, and then only does the update (all in one hit to the db).
This is inefficient and should not be necessary (we have the foreign-key id, why retrieve the record..?)
So while not a complete solution, what you do gain is only a single connection to the database (which is good) and slightly simplified code.
I am not sure if there is a solution to this at the moment...??
Hopefully the doctrine bods will update in the future and if using the proxy logic we should gain an automatic performance enhancement...