Having mulled this over in my head for a bit, I finally came—through the help of @starplusplus’ comment—to a distinction which I think holds up quite nicely in the vast majority of cases. There will always be odd ones out that are just completely idiomatic and do not hold up to logical scrutiny (many, in fact—this is language we’re dealing with), but the following tallies with both my instinctive, hard-to-verbalise gut feeling and also nearly all the examples I can come up with.
Narrow and broad (or wide) emphasise one dimension, while thin and thick emphasise (or can emphasise, depending on the notional shape of the object described) two dimensions.
All of these words are used (non-figuratively) of three-dimensional objects, and they both tell us something about two of these dimensions: they tell us nothing of length, but they do say something about width and depth.
Objects that do not have a particular, notional ‘surface’
When you use thin/thick, you are giving no particular importance to width and depth in relation to each other—their values are implied to be equally distributed, or any difference in their values is considered unimportant. (Though see below)
When you use narrow/broad, on the other hand, you are ascribing particular importance to one dimension (width) over the other (depth); or, in some cases, you are describing that one dimension (width) in particular has a higher or lower value that normally seen. Depth is either not considered relevant, or is considered relevant only as the value against which the narrow/broad thing is compared.
Thus for example, neither narrow ribbon nor thin ribbon tells us anything at all about the length of the ribbon in question. But where thin ribbon tells us only that the width and depth dimensions have small values—leaving aside as unimportant whether they are in fact identical values or not—narrow ribbon tells us nothing much about the depth dimension of the ribbon, but only the width dimension, which is said to have a smaller value than normally seen (in the archetypal, prototypical ribbon that of course looks different in everyone’s mind).
Objects that have a particular, notional ‘surface’
If something is of such a shape that we consider one of its surface areas to be the surface (such as tables, mattresses, or perhaps even ribbons), thin/thick is often used almost contrastively to narrow/broad in that it then emphasises the depth dimension in the same way that narrow/broad emphasises the width dimension. I would say that this is a narrowing (!) down of the two-dimensional meaning to one dimension, for the simple reason that we just do not talk about the dimensions of objects that we consider to have a single ‘important’ surface with indiscriminate regard to the relationship between the dimensions.
Consider a mattress as an example. It has a surface, which is always the side that faces up on our beds. We may wish to describe the length, width, or depth of the mattress individually, but there is no practical need to ever describe collectively the width and depth of it with no real distinction between the two.
Consider then instead a wooden beam. We don’t generally consider beams to have just one surface—all four sides (excluding the ends) are equally important, because no one of them has a particular, inherent usage. We may still wish to address all three dimensions individually, in which case we still use narrow/broad to refer to the width dimension, and thin/thick to refer to the depth dimension; but if there is no implied or explicit comparison with the width dimension, then thin/thick can still quite easily be used in its more generic, two-dimensional sense, to indicate that both the width and depth dimensions of the beam have relatively high values, regardless of what the exact relationship between these values are.
(Incidentally, in this view, I don’t consider narrow waist to be so irrational after all: you are simply commenting specifically on the width dimension, which is of course the diameter from the left side of the body to the right; i.e., someone with a narrow waist looks narrow from the front, but not necessarily from the side. Thin waist would instead refer to someone who looks thin from all sides.)