Null hypotheses exemplify the meaning of "All models are wrong, but some are useful." They're probably most useful if not taken literally and out of context – that is, it's important to remember the epistemic purpose of the null. If it can be falsified, which is the intended objective, then the alternative becomes more useful by comparison, albeit still rather uninformative. If you reject the null, you're saying the effect is probably not zero (or whatever – null hypotheses can specify other values for falsification too)...so what is it then?
The effect size you calculate is your best point estimate of the population parameter. Generally, chances should be equally good that it's an overestimate or underestimate, but the chances that it's a dead-center bulls-eye are infinitesimal, as @Glen_b's comment implies. If by some bizarre twist of fate (or by construction – either way, I assume we're speaking hypothetically?) your estimate falls directly on $0.\bar 0$, this is still not much evidence that the parameter is not a different value within the confidence interval. The meaning of the confidence interval does not change based on the significance of any hypothesis test, except in as much as it may change location and width in a related way.
In case you're not familiar with what effect size estimates look like for samples from a (simulated) population of which the null hypothesis is literally true (or in case you haven't seen it yet and are just here for a little statistical entertainment), check out Geoff Cumming's Dance of the $p$ Values. In case those confidence intervals aren't narrow enough for your taste, I've tried simulating some of my own in R using randomly generated samples just shy of $n=1\rm M$ each from $\mathcal N(0,1)$. I forgot to set a seed, but set x=c()
and then ran x=append(x,replicate(500,cor(rnorm(999999),rnorm(999999))))
as many times as I cared to before finishing this answer, which gave me 6000 samples in the end. Here's a histogram and a density plot using hist(x,n=length(x)/100)
and plot(density(x))
, respectively:
$\ \ \ \ $ 
As one would expect, there's evidence for a variety of nonzero effects arising from these random samples of a population with literally zero effect, and these estimates are distributed more or less normally around the true parameter (skew(x)
= -.005, kurtosis(x)
= 2.85). Imagine you only knew the value of your estimate from a sample of $n=1\rm M$, not the true parameter: why would you expect the parameter to be closer to zero than your estimate instead of further? Your confidence interval might include the null, but the null isn't really any more plausible than the value of equivalent distance from your sample effect size in the opposite direction, and other values may be more plausible than that, especially your point estimate!
If, in practice, you want to demonstrate that an effect is more or less zero, you need to define how much more or less you're inclined to ignore. With these huge samples I've simulated, the estimate of largest magnitude I generated was $|r|=.004$. With more realistic samples of $n=999$, the largest I find among $1\rm M$ samples is $|r|=.14$. Again, the residuals are normally distributed, so these are unlikely, but the point is they're not implausible.
A CI is probably more useful for inference than a NHST in general. It doesn't just represent how bad an idea it might be to assume the parameter is negligibly small; it represents a good idea of what the parameter actually is. One can still decide whether this is negligible, but can also get a sense of how non-negligible it could be. For further advocacy of confidence intervals, see Cumming (2014, 2013).
References
- Cumming, G. (2013). Understanding the new statistics: Effect sizes, confidence intervals, and meta-analysis. Routledge.
- Cumming, G. (2014). The new statistics: Why and how. Psychological Science, 25(7), 7–29. Retrieved from http://pss.sagepub.com/content/25/1/7.full.pdf+html.