I will attempt to put together an answer based on the comments.
In broad strokes, you're right that life would be better if apps with sensitive data refused to run on jailbroken devices. That said, the whole point of jailbreaking is to rip open the security features of the operating system and allow apps to have root access. Your question
Should an iOS app be allowed to run on jailbroken devices?
is kinda like asking
"Should valuable jewelry be allowed in my house after I've removed all the doors and windows?"
I mean, no, they shouldn't, but that's really your fault, not the jewelry's.
Is there a way so that an app can't be installed on a jailbroken device?
Can Apple control which apps can't run on jailbroken devices?
Only Apple can provide a proper answer to this, anything said here will be speculation. The short answer is: not really or not reliably.
Google "how to detect a jailbroken iphone" and you'll fined a pile of articles and Stack Overflow questions which basically confirm that people do try to detect if their app is running on a jailbroken device, but it's a game of cat-and-mouse:
Like any other rootkit, the authors of jailbreak tools want to make it hard to detect whether or not the device is jailbroken. By trying to detect it, you're basically entering into an arms race with the rootkit authors.