In my opinion it's pretty simple.
1. If there's a standard callout, use it.
2. If you see a developing situation and there is no standard callout, use plain language.
3. Don't use plain language instead of a standard callout (number 1).
4. Don't be afraid to take over if the other pilot isn't responding appropriately.
Going back to your failure to intercept the localiser example. Being out of tolerance on the localiser because you haven't even armed the localiser is not an appropriate situation to use the "LOC" callout. If you're on an intercept for the localiser and the other pilot has not armed it, say something like "we are cleared for the approach". If that doesn't work, "We need to arm LOC". If that still doesn't work you might need to assume subtle incapacitation and push the button for him. At no point, in that particular circumstance, would a single "LOC" callout be the appropriate call, in my opinion. The LOC call is for when you're on the approach and it is deviating out of tolerance, not for when you haven't even got on to the approach in the first place.
As for the same call being used for mode changes and deviations, that sounds like a problem with your SOP. If the PF announces mode changes and the PM announces deviations there can't be any confusion about what the call is for.
I'd be interested to know some actual examples of what they're picking you up on because your examples aren't very compelling.