As in how do they decide "X is a separate language from Y, but Z is a dialect of Y." I know there is the old adage "a language is a dialect with an army and a navy", but surely there must be some semi-objective criteria linguists use to class speech/writing forms as one or the other, like "Y and X are < or > Z% lexically similar", or "X and Y share Z grammar features, are N% mutually intelligible." Can anyone share any general linguistic guidelines that they know of?
The closest to a general consensus is the criterion of mutual intelligibility: if speakers of the lects can understand each other, they are dialects, otherwise they are languages. This immediately runs into the problem that Norwegian and Swedish seem to be mutually intelligible (although I suspect that is based on "standard" forms of the languages), but they are called separate languages. On the other side of the coin, people often speak of Mandarin and Cantonese as being dialects of Chinese, though they are not mutually intelligible. The general tendency in the profession is to take former dialects and call them languages, i.e. separate, rather than merge former "separate languages" into a single language with dialects (a tendency, not an absolute rule).
Additionally, "dialect" used to be almost exclusively a geographical division, but contemporarily, numerous social facts can go into characterizing a dialect, thus young people now speak a different dialect from old people, whereas 50 years people would hardly talk of age-based dialects.
Since there is no independent way to determine that two speech forms are "separate languages" vs. "dialects", there isn't a degree-of-intelligibility test that can be applied, though one could stipulate that 80% comprehension is the cutoff, if one wanted (why not 75%? or 85%?).
I adhere to the sociolinguistic view on this, represented by Max Weinreich's quotation that Language is a dialect with an army or navy, i.e. this is a social and political question rather than linguistic one.
Mutual intelligibility is not a good criterion (but it is a good, albeit not necessary, condition) for this because e.g. Czech or Slovak are totally mutually intelligible, yet they are considered two separate languages, while you have certain dialects of German (to keep it close and not exploit Chinese all the time) that are not intelligible to each other yet they are still dialects of German. It is politics that dictated this status in Europe of nation states.
Another good lead in this is prestige of the language variety - standard German is a variety understandable to pretty much anyone, it has a huge corpus of literature, reaching hundreds of years back, which many speakers consider prestigious and aspire to master this variety because it helps them to achieve/imitate adherence to higher socio-economical status.
So in conclusion, if you have two language varieties that do not have obviously different origins (different families), one of them is highly prestigious in a socio-economic entity that has the means and willingness to enforce it, and not necessarily through repression but also through science - by creating academic institutions that define the categories in harmony to the ruling willingness, than you are likely to end up with one variety being classified as the "language" and the other as "its dialect".