TL;DR: historically, the average of the generic ballot polls taken the week before the election has been about as accurate as any poll. However, the polls themselves swing wildly, so the values may change over longer periods of time. I.e. the current polls aren't necessarily predictive of how the 2018 polls will be.
According to Real Clear Politics, the generic congressional ballot polling average was off by
- 1.7% towards the Democrats in 2016.
- 3.3% towards the Democrats in 2014.
- 1.4% towards the Republicans in 2012.
- 2.6% towards the Republicans in 2010.
- 1.7% towards the Republicans in 2008.
- 3.6% towards the Democrats in 2006.
- 2.6% towards the Democrats in 2004.
- 2.9% towards the Democrats in 2002.
A quick caveat. In 2013, the Democrats were up by 6.5% on October 29th. The final election result in 2014 was 5.7% for the Republicans. So there is at least one example of 12% swing over the course of a year.
Another example. On October 24th, 2016, the Democrats were up by 6.2% but on election day they lost by 1.1%. That's a 7% swing in just two monthsweeks or so.
Given the caveat, they are reasonably accurate when taken just before the election. So when you read a generic ballot poll, remember first that individual polls are less accurate. Consider looking at a polling average. E.g. for 2018. Next, remember that what it is telling you is roughly where the election stands today, plus or minus 4%. The polls may change radically over the next year.
It also may be worth noting that the seat results may be different. As we saw in 2016, the districts that saw the biggest shifts away from the Republican candidates were the already Democratic districts. If that trend is still true for 2018, it may limit the changes somewhat.
The reason why I'm using the Real Clear Politics data is that they are nice enough to track both of the numbers needed on the same page. And, well, I read them regularly and thus know how to find that data. Other polling aggregators may give slightly different results.