It seems that there is not a percentile function for masked array in numpy or scipy?

Percentile is not  the only function missing in ma.   See for example

https://github.com/numpy/numpy/issues/4356
https://github.com/numpy/numpy/issues/4355

It seems to me that ma was treated on par with np.matrix in the recent years while several attempts were made to replace it with something better.

I don't think any better alternative have materialized, so it is probably time to declare that ma in the supported mechanism to deal with missing values in numpy and make an effort to keep the np and ma interfaces in sync.