1) the most scale-able approach to communicating what method to use for a URL is a control in the message.HTML uses FORMs for this. Siren uses "actions", Cj uses "template"
2) the next level down from that scale is to write it all up in human-readable documentation and tie that documentation to the URL directly via a REL value. HAL uses this approach.
3) further down on the spectrum is to write it up in human-readable docs w/o any direct connection in the response. most CRUD-style apps use this approach today.
4) a less-scale-able approach is to do what you mention at the top of this thread, create a local convention based on characters in the URL itself. this requires reading the docs AND associating those docs with the URL via a code implementation. I don't see many doing this IRL
5) finally, you can do what the WSDL/Web Services folks did. make ALL URLs support a single method (POST) and be done w/ it. this ignores lots of HTTP value (like caching) but has the advantage of being very human-friendly (you don't need to decided anything) and easy to implement using code-generation (all operations are the "same").
there might be some other levels in there that i've missed but that's the spectrum i've seen IRL as a visit dozens of companies around the world.
FWIW, i advocate using option 1 as often as possible.
cheers.