Honestly, I don't think an XP3 is quite adequate for a 100 gallon tank, not by a good margin either. What a company says their filter is rated for rarely correlates with how well it will work in reality. Case in point is the penguin 170 on my 20 gallon, it's rated for a 50 gallon tank but truth be told it's only adequate on the tank it is on, I wouldn't dream about putting it on a 50.
The fact that you've got five piranhas in that tank means you've got a pretty heavy bioload as well, not that you're overstocked, but it's five big fish, producing a big amount of waste who eat a big amount of food. While the rule of thumb that you need ten times turnover is... well crazy you really should aim at 4-5 times turnover bare minimum to have a healthy tank. Not to imply that 4-5 times turnover is just enough to get by on, but that's the point where any less is inadequate filtration in my opinion.
There's no need to spend a ton of money here though, just scrape together 20-30 dollars for an AC300 and you should be good to go. The extra surface agitation will also really help as it sounds like you need it.