If protected custom settings aren't suitable for your use case, here are some alternatives for handling credential storage:
1. **Protected Custom Metadata**: Use this if the subscriber doesn't need to view the stored credentials. It's secure and effective when implemented correctly.
2. **Encryption with Custom Objects**: Encrypt sensitive data using an encryption key stored in protected custom settings or metadata. The encrypted data can then be stored in a custom object, which offers larger storage capacity.
3. **Named Credentials**: If credentials need to be configured by the subscriber, named credentials are an option. However, keep in mind that these are visible to the org admin and are best for locally generated or per-org secrets.
4. **Custom UI for Secure Storage**: Build a custom UI (using Visualforce, Aura, or LWC) to capture and securely store credentials in a managed package. This approach provides flexibility for subscriber-specific needs.
Evaluate these options based on your specific requirements, such as performance, deployability, and access control.