Pandaman64: One way to solve this problem is either make Denjin super fast in both charging and traveling, a speed of Ryu medium or heavy punch super. Charging should be fast enough to be used in combos for good damage and in wake up position after a forward throw.
So things like forward throw -> Denjin full or close to full charge should work, or Palm FADC denjin 2nd charge if quick wake up would work.
Also if anti air fire ball to denjin does not work, it will be extremely useless. I mean atleast make denjin reliable for zoning purposes.
I small suggestion, rather oponion: Lp Counter could be for low counter, against low pokes, Mp counter for med, against anything that is not overhead or low attack, and Hp counter for high (over heads and jump ins) and special attacks, countering attack is going to be a throw (I like Geese…), this grab will throw the opponent forwards for every counter, so I guess you would not combo it unless in corner, where Gouken should be. Armor breaking and reversals should not break Gouken counter this time, and to avoid some hit boxes misses, he will, within 0 frames, grab the opponent with a throw. To avoid glitches against some special moves with lots of invincibility (EX SRK), active frame of the grab after counter will be 7 frames atleast and covers Gouken full body. However it will be purely for physical counter purposes, no projectile countering. His air parry will recover instantly if it parries, it wont lose to reversals armor breaking properties so he can actually has some resets against characters with SRK.
Also for EX counter he covers every area, low med and high, deals the same damage and have the same recovery. However his throw would launch the opponent upwards, which can be comboed to tatsu, palm, Heavy punch to demon flip reset, super or his first ultra or 2nd ultra half charged.
These are mere oponions on how it would be possible to buff Gouken counter, which is similar to ryu DP to ultra crap, only harder. You must be rewarded for countering, whether on high level play or scrub level.