Let Π be an ergodic simple point process on ℝd and let Π* be its Palm version. Thorisson [Ann. Probab. 24 (1996) 2057–2064] proved that there exists a shift coupling of Π and Π*; that is, one can select a (random) point Y of Π such that translating Π by −Y yields a configuration whose law is that of Π*. We construct shift couplings in which Y and Π* are functions of Π, and prove that there is no shift coupling in which Π is a function of Π*. The key ingredient is a deterministic translation-invariant rule to allocate sets of equal volume (forming a partition of ℝd) to the points of Π. The construction is based on the Gale–Shapley stable marriage algorithm [Amer. Math. Monthly 69 (1962) 9–15]. Next, let Γ be an ergodic random element of {0,1}ℤd and let Γ* be Γ conditioned on Γ(0)=1. A shift coupling X of Γ and Γ* is called an extra head scheme. We show that there exists an extra head scheme which is a function of Γ if and only if the marginal E[Γ(0)] is the reciprocal of an integer. When the law of Γ is product measure and d≥3, we prove that there exists an extra head scheme X satisfying Eexpc‖X‖d<∞; this answers a question of Holroyd and Liggett [Ann. Probab. 29 (2001) 1405–1425].