IV. Forms of solution suggested (mainly from the thread).
A. Simple fixes.
Remove boozecooking. Remove seedcooking. Increase growduration. Make aboveground crops seasonal. None of these are perfect solutions. I play with 3* standard grow durations, don't farm aboveground anyway, and don't use either exploit, and it's still just a matter of increasing your farm size slightly.
A. Increased area investment.
Change the mechanics for plants grown per number of farm tiles. As I said, this is really a straw man solution. To make it difficult enough, you'd need a very large area of farm indeed, and that loss of space would annoy many players; once you'd done it, it would pretty much cease to be a problem. Then there is the justification. If plants need 'room to grow', that implies you're growing one or fewer plants per tile, which again brings up those stacking problems.
B. Increased dwarf ingestion.
Change the mechanics for the amount a dwarf eats (at any one sitting). Perhaps a more long-term solution to (A) because it will require more time spent in actual planting, harvesting and processing, as well as larger acreage. However, dealing with things like multi-component single meals would need a dedicated food re-write and probably comes up with more stacking problems.
C. Greater failure rate.
Fewer plants survive. Perhaps a 1 plant 1 seed ratio. We have a form of this, in that dabbling growers can produce stacks of 1 (and apparently even 0) plants. It would mean you'd need to increase your acreage or improve your growers. However, it's not that hard to train up really skilled growers anyway. Also, upping the number of seeds required has problems. Plants which give back multiple seeds from brewing works, but then you can't cook the plants. There should be more guaranteed ways of securing seeds such as growing plants for their seed, more reliable caravans, guaranteed underground plant features, etc.
D. Increased resource investment.
Use actual physical resources in farming. The most common suggestion is making fertiliser necessary. This is realistic, but it would definitely need alternative ways of making it for those people without the trees, or the patience, for woodburning. Composting of remains and bones and suchlike has been suggested. Another idea would be rotting logs for growing mushrooms (dimple cups and plump helmets). For those plants which are plants, not fungi, another solution might be necessary. Resource use ties further into (E) and (F) below.
E. Increased jobs to perform on farms.
Either to increase yield, or to get any yield whatsoever. The most common suggestions are:
e1. Maintain soil fertility (as above). Some have even said require specific nutrients for specific plants, but this quickly gets into the 'infeasible' territory.
e2. Maintain soil moisture. As simple as a return to the 2D idea of mud and hence farms drying up if they're not watered once a year, or as complex as specific plants requiring specific moisture levels (which would need, for player sanity, to be something the dwarves worked on automatically).
e3. Problems: Pests and varmints. We have food-eating vermin already; it would be the work of moments to make them eat food from the farms. There could be more complex mechanisms such as scarecrows, dwarves assigned to vermin defence, plagues of locusts, and so on.
e4. Problems: blights and disease. A soil blight could occasionally destroy an area of farmland so you'd have to relocate to fresh soil for a year. Crop rotation, and lying fallow, should both help to prevent diseases building up in the soil. This could eventually be linked to spheres.
e5. Problems: weeds. Nonuseful plants could be implemented, and grow where crops should be growing. Vigilant farmers would need to remove these. Added bonuses would be poisonous/dangerous weeds, and unskilled farmers ripping out crops or accidentally letting weeds be sent off to the kitchens.
e6. General maintenance. Basically, make-work. A requirement that a farmer stands in the field for x ticks per plant. This could abstractly represent a large number of things. Basically, you'd need to increase the required food workforce.
Note that all increased jobs can be divided into player jobs (micromanagement), and dwarf jobs (jobs for dwarves). Many perhaps most commenters are against extra details if it means micromanagement. Again, I'd raise the point that farming required much more attention in the 2D version, tempered of course by the point that a lot has changed since then.
So, to avoid the realism-kills-the-fun mentality, as many of these increased jobs as possible should be automated, automatable, or optional (for increased yield).
F. Less abstract plants.
Currently, plants grow in a season, and then the entire thing is ripped up and eaten. This is unrealistic. Separate out the plant itself from the crop. Let the maximum number of crops, the minimum time before the plant can grow them, and the time between crops, be specified in the raws.
You could even track each plant's health individually a simple 1-10 integer value would do and this could be increased/decreased by vermin, water, drowning, soil quality, fertiliser, farmer skill, and so on. Below a certain level, and the plant won't crop this season. Too low, and it might die. High enough, and it'll put out extra crops or produce a more bountiful harvest in any given crop.
This idea doesn't necessarily make farming harder. But it could easily tie in to required watering/tending of seeds (to make up for not having to replant each year). Also, longer-term crops may take longer to grow before cropping at all. Tree cropping probably ties in here, but that's another issue.
More specific plants will increase realism and add to your options, and incidentally make farming harder. Rice might require much more frequent irrigation. You might be able to grow seaweed in ocean biomes, but only in a certain water depth. Edible cacti would have to be kept sheltered from the rain. Etc.
G. More difficult mining.
This is a controversial one. Plenty of people don't want mining to be harder, and plenty more get contentious over the actual practicalities of mining changes (e.g. spoil and supports). But if mining was made so that dwarves don't cut through rock like cheese, then taking longer to hollow out space for farming would naturally make farming more difficult to set up. Not, however, to maintain. Some have suggested it be very difficult to mine extensively through soil layers, requiring a player to put up supports or walls to stop the dirt collapsing especially for sand layers. Again, this would make farming harder to get started. Again, not a solution for farming over time being too easy.
H. Less plentiful soil.
An alternative to harder mining. Depending on how deep you think a z-level is, entire layers of soil should perhaps be much less common. This would require irrigation of rock for underground mining. Again, not an ongoing solution, and not necessarily a realistic one.
I. Remove puddle-on-the-stone farming.
This one makes sense. Rock + water = permanent nutritious soil is not a realistic idea. It could simply be removed. With the coming changes to the Underground, patches of soil could be found near underground water features. Bring back seasonal flooding (river sediments have historical precedent Nile farming for creating soil, but they would need to be replenished). You could have dwarves create underground farms by implanting soil: that is, fetching buckets of it from the surface, or making loose soil a material left behind by mining. Adding compost could be a solution. Alternatively, simply make potash and mix it with water, slosh it on the ground and grow on pure fertiliser.
J. Bring back hungry animals.
Related to (B), this has been discussed a bit, but seldom in the context of restoring balance to farming. It has additional benefits of removing tame animals as another infinite foodsource. As weird as it sounds, dogs are overpowered. They give happy thoughts, make for an adequate military early in the game, you can eat nothing but dogmeat, and they give you bone bolts / leather armour.
It could be as simple as putting the current food/drink mechanic in place for animals, without the accompanying thoughts, and adding a carnivore/herbivore/omnivore tag. Plant-eaters wouldn't have to eat farmed plants; they could be supplemented by grazing (a use for grass).
K. Non-food-based demand.
Inindo came up with a bunch of stuff here. Mainly clothing-based. If dwarves were more keen on wearing pants, and especially non-rotten pants, then this would put more pressure on farming. At the very least, pig tails would become an important crop, and depending on how important happiness was to a player, dimple cups would be needed for the dye. Another possibility was a cloth requirement for beds.
L. Nutrition and happiness.
Make dwarves increasingly unhappy to drink the same old booze and eat the same old plant. Simple existing crop rotation can stave it off, but it would remove The Plump Helmet As Be All And End All Of Dwarven Farming.
LordBucket suggested nutritional deficiency from eating only one food. This is realistic and could be implemented to varying degrees from your dwarves slowing down / getting weaker when they are on a one-crop diet, to actually implementing tags for the nutrients various plants provide. Dwarves might require a minimum dose of calcium, iron, potassium, b-vitamin, c-vitamin and whatever each year.
M. More specific biomes.
Change simplifications like 'biome' and 'season' to min/max temp, min/max water, max crops per year in ideal conditions versus substandard conditions, and so on. It wouldn't be black and white; a climate that is only just inside the tolerance of a certain crop would mean that with good growers and good fertiliser you'd still grow a few... but with greatly reduced yields. This relates to (F) and (C).
N. By all means make it harder.
A meta-solution or reminder: there are already many other methods of food acquisition. All of them are harder and almost all require more micromanagement. Farming could easily made more difficult via the nutrients/irrigation/rotation suggestions, and if a player doesn't want to be involved, they can trade for their food. Or hunt. Or fish. Or gather. Or trap. Or...
Anyway, as WingDing suggested, dedicated food caravans could be implemented, perhaps with additional expenses or costs for those who don't want to spend time farming.
O. Changing the nature of the game.
There are other possible solutions. For farming on stone, you could have to build 3-wide plots, and then dwarves scrape all the mud from those tiles into just the central strip. This could be combined with a re-irrigation requirement. You might need to pollinate crops. You might need to keep your fungal crops irrigated betweens depths 1 and 3 at all times. Entirely different ways of doing things are out there. Perhaps Toady has some ideas himself.