To start with, it is easy to set them up as Independent approval processes, and yes you're right that it enters the first process whose entry criteria it meets.
You could have a picklist which choses the type of approval process the user wants to sumit to and save it on the record. The standard Submit for Approval button would do. (If a not null value in this field is an entry criteria for all approval processes, the user would not be able to Submit it for approval without first selecting a value)
If you needed to have different buttons (not desirable), the custom Submit for Approval button click could invoke some code to (using JS via the AJAX toolkit) set this value on this field.You can then submit the record for approval via the standard URL, I.e. redirecting it to eg "/p/process/Submit?retURL=%2F{!Opportunity.Id}&id={!Opportunity.Id}"; for Opportunity
The custom field is used to filter on in the entry criteria of the various approval processes.
So if the ApprovalType = Credit Check, it enters the Credit Check Approval Process, because the entry criteria validates this condition.
In summary, while you cannot run them in parallel, you can choose which one to run at a given time, and run them sequentially.