Actually, although they might sound as similar sounds at first glance, they are easily distinguishable. While "Č" is "palato-alveolar"; "Ć" is "alveolo-palatal".
English also has both sounds, and they can be represented with "ch" or "t".
Č =
chips ;
trick
Ć =
chew ;
tune
Same goes with Dž and Đ; the voiced pairs of the above; in English, they can be represented with "j" or "d"
Dž =
John
Đ =
jew ;
dew
Now, yes, different regional pronunciations exist: in standard Croatian and Bosnian, "Č" and "Dž" are "palato-alveolar"; and "Ć" and "Đ", although alveolo-palatal, are by many pronounced indistinguishable from "Č" and "Dž", therefore, palato-alveolar
While, in standard Serbian, "Ć" and "Đ" are clear "alveolo-palatal" sounds, while "Č" and "Dž" are more of retroflex sounds. However, still... this can vary.
Here you can hear the audio of all these sounds:
Ć =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggĐ =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggPalato-alveolar Č =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggPalato-alveolar Dž =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggRetroflex Č =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggRetroflex Dž =
https://upload.wikimedia.org/wikipedia/ ... ricate.oggHopefully, this will help to, once and for all, solve this mystery