As I wrote in my comment, the trivial bounds are $1/2^{n-1}$ and $n/(2^n-1)$. Here is a proof of the estimate $b(n)<3\sqrt n/2^n$; maybe it can be improved further using the same idea.
Consider the random variable $X=c_1a_1+\dotsb+c_na_n$ where $c_1,\dotsc,c_n$ independently take values $0$ and $1$, with equal probability. Writing $S_1:=a_1+\dotsb+a_n$ and $S_2:=a_1^2+\dotsb+a_n^2$, we have $\mathbb E(X)=S_1/2$ and $\mathbb V(x)=S_2/4$; hence, by Chebyshev's inequality,
$$ P(|X-S_1/2|\ge t) \le \frac{S_2}{4t^2}. $$
We choose $t:=\sqrt{S_2}$ to conclude that with probability at least $3/4$ we have $|X-S_1/2|<\sqrt{S_2}$. In other words, there are at least $\frac34\cdot 2^n$ $n$-tuples $(c_1,\dotsc,c_n)$ with $c_1a_1+\dotsb+c_na_n$ in the range $(S_1/2-\sqrt{S_2},S_1/2+\sqrt{S_2})$. Among these $n$-tuples there are two such that the corresponding sums are at most
$$ 2\sqrt{S_2}/((3/4)\cdot 2^n-1) \approx \frac83\sqrt{|S_2|}/2^n $$ away from each other. It remains to notice that $S_2\le n$.