Measure the floor, not the room. Walls are not where a rug stops; the skirting, a radiator, a hearth and the swing of a door all take floor away, and the rug has to sit inside what is left. Run a tape along the two directions at floor level, write both figures down in centimetres, and note anything that intrudes.
Then decide how much floor you want to see. A rug that runs to the skirting on all sides reads as fitted carpet; a rug that stops well short of the walls reads as a rug. The band of floor showing is a matter of taste, but it should be the same on all four sides, and a hand's width is the least that reads as intentional. Take that band off both ends of each measurement and what is left is the largest rug the floor will carry.
Under a dining table the rule is different: the rug should be large enough that a chair pulled out to sit down still has all four legs on it. Measure the table, add the depth of a pulled-out chair on every side, and that is the smallest rug that works there, whatever the room around it says.
For a hallway, measure the length of floor between the two doorways or the two ends, and the width between the skirting boards. A runner stops short of both ends and leaves a band of floor along each side, and because a hand-knotted runner may not run perfectly straight, the widest point on its note is the width to plan with.