This is a long comment hinting towards a case analysis.
Given a finite multiset $A$ consisting of real numbers, we denote by $\sigma(A)$ the sum of its elements.
We settle below the case of two multisets. The details (which are likely to be well-known) could be used to initiate a case analysis for the situation of three and then four multisets.
Lemma. Let $A$ and $B$ be two multisets of size $n$ with all their elements in $[0, 1]$ and such that $\sigma(A) \ge \sigma(B)$. Let $\lambda \in [0, 1]$. Then we can turn $A$ into a multiset $A'$ of size $n$ such that $$\vert \sigma(A') - ((1 - \lambda) \sigma(A) + \lambda \sigma(B)) \vert \le 1/2$$ by swapping at most $\lfloor \lambda n\rfloor$ elements of $A$ with some elements of $B$.
Proof. Sort $A$ in decreasing order and let $M_i$ be the $i$-th term of the sorted sequence. Sort $B$ in increasing order and let $m_i$ be the $i$-th term of the sorted sequence. Let $s_i$ denote the sum of the elements of the multiset $A'_i$ obtained from $A$ by swapping $M_1, \dots, M_i$ with $m_1, \dots, m_i$ respectively. Set $s_0 = \sigma(A)$. Since the second order finite difference $\Delta_2(s_i)$ of $(s_i)$ is non-negative for every $i \le n - 2$, the piecewise linear interpolation $s$ of $(s_i)$ on $[0, n]$ is a convex function. As $s$ satisfies $s(0) = \sigma(A)$ and $s(n) = \sigma(B)$, the result follows.