We use MultiMC, which has an option to define a pre-launch command that will be executed before launching Minecraft. So no, I wouldn't do updating from Minecraft client, but from script that runs before Minecraft. I've already created a script that send handshake to server and prints out response JSON in console.
If it's not possible to append data to response JSON, then my other solution would be to create a custom packet handler, and a script that mimics a Minecraft client.