The best way to determine water changing regime is to determine what the maximum allowed level(s) of pollutant(s) are.
Let's pick Nitrate, as that's one of the easier to monitor. You could look at other polluting criteria...
So, let's pick a level of nitrate: 20 ppm.
So your goal is to keep the tank under 20 ppm at all times.
How much water you need to replace depends on the level of nitrate, which in turn depends on stocking level (fish numbers and sizes), feeding level (more food -> more pollution)... If we start out with a tank that has 12 ppm of nitrate, and nitrate goes up by 8 ppm per week, then you need to replace (at least) 40% of the water to get back to 12ppm. [Of course, this assumes your tap-water is near zero nitrate - this may or may not be true, and make sure your nitrate test is fresh].
You can calculate the size of the water change by this formula:
change = (1 - (allowed - rise) / allowed) * 100.
allowed is the ppm level you aim to keep.
rise is the amount of ppm's that your water rises from one water change to the next.
Multiply by 100 to get percentage.
The "1 -" at the start is because the calculation is "backwards", it calculates how much of the water you should keep in the tank.
So if we insert the numbers from above example:
20 - 8 = 12 ; allowed - rise
12 / 20 = 0.6 ; (allowed - rise) / allowed
1 - 0.6 = 0.4 ; Now calculate "the other part".
0.4 * 100 = 40 ; Make it into percent.
Now for some further brain-excercise: Instead of multiplying by 100, multiply by the water-depth in the tank, say 15": 0.4 * 15 = 6.0. So to do 40% water change you drain 6 inches of water...
The real difficulty with the above calculation is to know the rise level with enough priecision. Most nitrate test kits are too inprecise to give a good measure. They usually only show difference between 12ppm and 25ppm and 50ppm, for example.
My personal opinion would be that 50% per week is a bit excessive with the amount of fish you have. But I've got no experience with those types of fish.