Brush soaps work wonders, Most people cite Master Brush Cleaner... but basically any artists brush soap for acrylics.
I use one by a brand called 'colourfull arts' which I believe is actually made by Loxley.
Failing propper brush soap, Liquid hand soap usually does a good cleaning job, Shampoo should do well too.
Periodically apply hair conditioner (your mum/sister/wife/girlfriend should have this you can get away with pinching a tiny blob every few months

)
This helps the bristles stay subtle and not break off when overly dry (just like your own hair)
The #1 cause of fraying is paint inside the ferrule. This is really hard to get out once inside.
Painstaking cleaning can revive it sometimes. Ideally though you would never allow paint to dry there. If any gets so high up the bristles that it may reach the ferrule, then rinse it all off immediately. Keep the brush wet while working, and until cleaned completely after use.
Washes are the #1 offender for getting into bristles. Theyre so thin they just reach it with capillary action alone.
Have a separate brush for washing with, and also dont allow wash to dry in that either if atall possible. Even when painting the same colour, constantly keep rinsing the brush off... make it second nature and then your brushes will last forever.
edit; drying retarder for your paint might help too in an indirect way of increasign the time you have before its drying in the brush.