Here's what I do now. I tag such "links" with `highway=footway` and `footway=crossing`, which indicates it's not a physical strip of asphalt/concrete dedicated to pedestrians, but it's part of another highway. However, I don't add a `highway=crossing` node where it intersects the road.
For the second part, if there are dropped kerbs (aka curb cuts) on four corners of an intersection, I essentially draw a box connecting them, so I ignore the possibility of diagonal crossings, as that's typically not allowed or at least it's unusual to do so. Of course there are some cities which have such diagonal crossings, and those should be marked as such in that case.case. See [this image on the wiki][1] for how I would map this type of situation (though for three kerbs rather than four).
[1]: http://wiki.openstreetmap.org/wiki/File:Kerb_key_example_map.jpg