I'm a freediver and have trained myself to be able to hold my breath for very long times using static breath hold tables (google it) and simply by being fit.
Despite being able to hold my breath for a long time while freediving, when surfing I still feel that struggle when held under for just a few seconds. Freedive training for me was about my tolerance to increased CO2 saturation in my blood and ignoring the signs of it (chest convulsions). Being smashed by a wave usually means you don't get a chance to breathe up and get a lung full of air.
My way of 'coping' with a long hold down after a wipeout is to remind myself it feels longer than it is and to not struggle against it so much.
Keep calm and the surface will come.
For me it's a mental thing. But by all means, increase your lung capacity and so forth if you think it will help YOU. The benefits of freedive training is handy even if you just enjoy a good snorkel