So I played around with this a bit. So it looks like the "$Callsign" is NEVER parsed/replaced in string literals or variables, making it impossible to set ships' callsigns or names to the player's callsign. It's only parsed in text in messages, which does not include that ship's name. Including $callsign in the field for sending messages (like "#($callsign)" or "# $callsign") simply displays the "$callsign" text.
A script might be able to get the value into a variable, or possibly FSO could parse the $callsign string in events- I doubt that would break anything, so maybe the SCP would take a look at it.