The only solution that makes sense is to bunker your data so it's as near to impossible to steal as possible. You have to be lucky all the time and hackers only have to be lucky once, as the saying goes.
Keeping essential data off the internet is a good start. Limited, layered access to only those people that need it. Compartmentalise the work so that most people don't know the whole picture. Honeypots and other traps. Chaff generation to send anyone that does get in down the wrong path (and if anyone falls for it, you'll have a clue later as to who was behind the attack...plus it'll almost certainly cost them a few quid to sort and debunk your chaff). Strictly limit the software used (nothing by Microsoft or Google as the very start; also nothing cloudy unless it's locally encrypted using your own kit first). And encrypt the living crap out of everything.
Even bunkering properly is going to be expensive, and not just in money terms. If you compartmentalise the work, for example, you are losing out on a lot of creativity and cross-pollination from your own team but if you don't you're more vulnerable to social manipulation.
Attempting to hack back is an exponentially expensive waste of time if you're trying to revenge hack the people who hacked you...what are you going to get from a skilled hacker who's almost certainly using a burner laptop running Tails or similar? If you have some production capacity and no idea what to do with it, you could always try to hack China generally, I suppose, and see what comes up, but there's no guarantee of success and a reasonable likelihood of expense.
P.S. Bunkering has to be built-in from the start; and that's why it's not going to happen in today's corporate culture where you react after the fact to something that's suddenly costing you money/embarrassment. It's too late then.