I pretty much buy based on the size of quilts I generally make and what I think I'll use the fabric for. If I think it's going to be a great border fabric for a queen size quilt I'll get 3 yards. If I think it's going into the scrappy twin size quilts I make I'll get a FQ. If I'm going to use it for the backing of a queen I'll get 8 yards. Accents and go withs I generally get one or two yards.
Don't forget, just because the pattern calls for 4 yards of X color doesn't mean you have to use all one fabric. You could use two yards of two colors. Or one yard of 4 colors. Or 16 FQs for a real scrappy look.