Other than that i only find 3 ways general to do edge grab, and it all depend on the level technical design. Here are the results of my research if you are interest in.
1. Tags
Most game today use Tags, whether preprocess or artist driven. Tags can be handle with raycast or simply contact collision.
Assassin's creed use Tags and lot of raycast, the animation system and the logic them adapt.
It's pretty costly, that's why they have only 3 differents gameplay elements for scenary (bump, ledge and surface if i'm right). But they tag the building blocks rather than the scene. It give the game consistency but you cannot have arbitrary scene (limited by the building blocks).
Some other games handle tags at the level editor once the level is already done. It can lead to read the designer's path
but work better for arbitrary scene.
Preprocessing on the other side works well with arbitrary scene but can lead to "level bugs", and we must check the preprocessor, the level design and the geometry to track an single bug, it can be costly and lead to headaches.
Raycast is cool when you want to anticipate movement for animation or to ease gameplay with "retargeting". Contact leaves everything in the player's hand.
2. Grid
When i was working at elsewhere entertainment on an unreleased game TOTEMS. They used a grid base level building. The unit was "blocks" which is a collision mesh associate with a graphical mesh and a tag. Blocks where size according to the "gameplay step" which was the dimension of the grid (50*50*100 cm). Check for the gdc keynotes of "julien hamaide".
The advantage is that all movement was entirely contextual and it provide the character immediate awareness of his surrounding. All you had to do is to read adjacent cells and check for pattern to match situation. From a design perspective it's priceless. Because grid have an inherent structure, Grab is has easy as checking the next cells. Essentially this is tagging every point of space. There is two way to check a "context" (ie grab here), information are directly store on the cells (ie grab able) or imply by the context indirectly (grab able if cells right above is empty).
Game like rockman dash and tomb raider use some sort of heightfield grid (ceiling and floor for tomb raider) that allow for quick reading of the environment. 2d game rely a lot on tiles as both gameplay and visual pattern of informations.
The draw back is that it cost a lot of memory and is limited artistically to the structure of the grid. On the other side it's quick and allow for very complex gameplay situation, and essentially you can "paint" design on level without code, especially if there is an interaction editor where you can specify pattern of interaction in a timeline by marking cells to check and which another interaction it trigger.
3. systemic grab
Obviously some graal and very rare. To my knowledge mario 64 and zelda 64 are the only one i'm 100% certain that does that way, thanks to the rom hack scene we can see that import model work in the game directly (ie no tagging).
Basically those kind of game would use sensor to imply situation from the world with arbitrary mesh.
Let's see the mario case:
From the data i have collect, i think mario first check for a vertical collision while in air, Then there is check a for an horizontal surface at a certain point, then it tries to move the model at the intersection of the vertical and the horizontal, then it check one more time for grab, if that fails, it enter 'fail grab' state that repel the character (i believe it's for safety and avoiding bugs like repeatedly trying to grab). Mario "fail grab" at many place, like trying to hang on a fence. But look at the sideview last case, he simply fall and do not attempt to grab.
Other obvious techniques is to get the collided mesh abd go through all the edge of his collision mesh, that can be costly and slow if the collision mesh is complex.
That's all i find so far.
If i try to make a game i will try to use something "local grid" object, on collision convert position to object tiles position, and check pattern. But it would require a little more design than that.
Hope this is interesting.