@LegionMammal978 on Discord pointed out that we can "simplify" this collatz-like function by repeating it four times at which point the parameter c is fixed as 2 and b is always odd. This also has the advantage of removing the weird parity situation ... but it also makes the function have 81 cases.
Specifically, let B(a, b) = A(a, 2b+1, 2) then: (where each arrow represents 4 iterations of the original A system)
B(a, 81k + 0) --> B(a + 1, 256k + 4)
B(a, 81k + 1) --> B(a + 0, 256k + 8)
B(a, 81k + 2) --> B(a + 1, 256k + 10)
B(a, 81k + 3) --> B(a + 0, 256k + 14)
B(a, 81k + 4) --> B(a + -1, 256k + 18)
B(a, 81k + 5) --> B(a + -2, 256k + 22)
B(a, 81k + 6) --> B(a + 2, 256k + 22)
B(a, 81k + 7) --> B(a + 1, 256k + 26)
B(a, 81k + 8) --> B(a + 0, 256k + 30)
B(a, 81k + 9) --> B(a + 4, 256k + 30)
B(a, 81k + 10) --> B(a + -2, 256k + 38)
B(a, 81k + 11) --> B(a + 2, 256k + 38)
B(a, 81k + 12) --> B(a + 1, 256k + 42)
B(a, 81k + 13) --> B(a + 0, 256k + 46)
B(a, 81k + 14) --> B(a + 1, 256k + 48)
B(a, 81k + 15) --> B(a + 0, 256k + 52)
B(a, 81k + 16) --> B(a + 2, 256k + 54)
B(a, 81k + 17) --> B(a + 0, 256k + 58)
B(a, 81k + 18) --> B(a + 2, 256k + 60)
B(a, 81k + 19) --> B(a + 1, 256k + 64)
B(a, 81k + 20) --> B(a + 0, 256k + 68)
B(a, 81k + 21) --> B(a + 1, 256k + 70)
B(a, 81k + 22) --> B(a + 0, 256k + 74)
B(a, 81k + 23) --> B(a + -1, 256k + 78)
B(a, 81k + 24) --> B(a + 3, 256k + 78)
B(a, 81k + 25) --> B(a + 0, 256k + 84)
B(a, 81k + 26) --> B(a + 1, 256k + 86)
B(a, 81k + 27) --> B(a + 0, 256k + 90)
B(a, 81k + 28) --> B(a + -1, 256k + 94)
B(a, 81k + 29) --> B(a + 3, 256k + 94)
B(a, 81k + 30) --> B(a + 2, 256k + 98)
B(a, 81k + 31) --> B(a + 1, 256k + 102)
B(a, 81k + 32) --> B(a + 0, 256k + 106)
B(a, 81k + 33) --> B(a + 1, 256k + 108)
B(a, 81k + 34) --> B(a + 3, 256k + 110)
B(a, 81k + 35) --> B(a + -1, 256k + 116)
B(a, 81k + 36) --> B(a + 3, 256k + 116)
B(a, 81k + 37) --> B(a + 0, 256k + 122)
B(a, 81k + 38) --> B(a + 1, 256k + 124)
B(a, 81k + 39) --> B(a + 0, 256k + 128)
B(a, 81k + 40) --> B(a + -1, 256k + 132)
B(a, 81k + 41) --> B(a + 0, 256k + 134)
B(a, 81k + 42) --> B(a + -1, 256k + 138)
B(a, 81k + 43) --> B(a + 1, 256k + 140)
B(a, 81k + 44) --> B(a + 2, 256k + 142)
B(a, 81k + 45) --> B(a + 1, 256k + 146)
B(a, 81k + 46) --> B(a + 0, 256k + 150)
B(a, 81k + 47) --> B(a + -1, 256k + 154)
B(a, 81k + 48) --> B(a + 3, 256k + 154)
B(a, 81k + 49) --> B(a + 2, 256k + 158)
B(a, 81k + 50) --> B(a + 1, 256k + 162)
B(a, 81k + 51) --> B(a + 2, 256k + 164)
B(a, 81k + 52) --> B(a + -1, 256k + 170)
B(a, 81k + 53) --> B(a + 0, 256k + 172)
B(a, 81k + 54) --> B(a + 2, 256k + 174)
B(a, 81k + 55) --> B(a + 1, 256k + 178)
B(a, 81k + 56) --> B(a + 2, 256k + 180)
B(a, 81k + 57) --> B(a + 1, 256k + 184)
B(a, 81k + 58) --> B(a + 0, 256k + 188)
B(a, 81k + 59) --> B(a + -1, 256k + 192)
B(a, 81k + 60) --> B(a + 0, 256k + 194)
B(a, 81k + 61) --> B(a + 2, 256k + 196)
B(a, 81k + 62) --> B(a + -2, 256k + 202)
B(a, 81k + 63) --> B(a + 2, 256k + 202)
B(a, 81k + 64) --> B(a + -1, 256k + 208)
B(a, 81k + 65) --> B(a + 0, 256k + 210)
B(a, 81k + 66) --> B(a + -1, 256k + 214)
B(a, 81k + 67) --> B(a + -2, 256k + 218)
B(a, 81k + 68) --> B(a + 2, 256k + 218)
B(a, 81k + 69) --> B(a + 1, 256k + 222)
B(a, 81k + 70) --> B(a + 0, 256k + 226)
B(a, 81k + 71) --> B(a + 1, 256k + 228)
B(a, 81k + 72) --> B(a + 3, 256k + 230)
B(a, 81k + 73) --> B(a + 2, 256k + 234)
B(a, 81k + 74) --> B(a + 1, 256k + 238)
B(a, 81k + 75) --> B(a + 2, 256k + 240)
B(a, 81k + 76) --> B(a + 1, 256k + 244)
B(a, 81k + 77) --> B(a + 0, 256k + 248)
B(a, 81k + 78) --> B(a + 1, 256k + 250)
B(a, 81k + 79) --> B(a + 1, 256k + 254)
B(a, 81k + 80) --> B(a + -1, 256k + 258)