The analog filter you came up with exemplifies the problem that one usually encounters when designing filters with negative group delay in a certain frequency band. The filter with transfer function $H(s)=1+s\tau$ is unstable, and its frequency response grows indefinitely towards high frequencies.
I have a neat solution for designing a discrete-time 1-step predictor, i.e., a filter predicting $1$ sample into the future. Clearly, such a filter must approximate a group delay of $-1$ sample in a certain frequency band. We can choose any frequency band, but let's assume that we care about low frequencies close to DC.
The design method is based on the fact that the optimal linear prediction error filter is a minimum-phase filter [1, 2]. If $P(z)$ is the linear prediction filter, the prediction error filter is
$$E(z)=1 - z^{-1}P(z)\tag{1}$$
Its output is the prediction error of the predictor $P(z)$. Note that if $P(z)$ approximates an advance of $1$ sample, i.e., $P(z)\approx z$, the output of $E(z)$ is approximately zero. Of course, a causal filter cannot closely approximate the transfer function $P(z)=z$ over the whole frequency band, but it can approximate an advance of $1$ sample in some specified band. Note that this approximation implies that in the specified band the group delay is close to $-1$ sample, and the magnitude is close to $1$.
In order to find such a prediction filter $P(z)$, we can choose a strictly minimum-phase filter $E(z)$ with a magnitude response that approximates zero in the band of interest, and with a limited magnitude response elsewhere, such that the approximation error doesn't grow without bounds outside the band of interest.
A good candidate for $E(z)$ is a Butterworth filter. If we're interested in a predictor for low frequencies, we need to choose a highpass filter for $E(z)$. From $(1)$ we see that we need to normalize $E(z)$ such that the first coefficient of its impulse response equals $1$. Then we can compute the prediction filter from $(1)$:
$$P(z)=z\big(1-E(z)\big)\tag{2}$$
I.e., if the normalized prediction error filter is given by
$$E(z)=\frac{\sum_{k=0}^Nb_kz^{-k}}{\sum_{k=0}^Na_kz^{-k}}\tag{3}$$
the transfer function of the predictor is
$$P(z)=\frac{\sum_{k=0}^{N-1}\big(a_{k+1}-b_{k+1}\big)z^{-k}}{\sum_{k=0}^Na_kz^{-k}}\tag{4}$$
This little Matlab/Octave script designs a 1-step predictor using this method:
n = 5; wc = .4;
[be,a] = butter( n, wc, 'high' ); % prediction error filter
be = be / be(1); % normalization
b = a( 2 : n+1 ) - be( 2 : n+1 ); % numerator of predictor
% a = denominator of predictor
The figure below shows the result. The predictor has a flat magnitude of $0$ dB and a flat group delay of $-1$ sample at low frequencies, and the growth of the magnitude response outside the band of interest is limited.