Hello,
Currently, there is not a simple way to import contacts to segments or subscription lists from a file directly.
As you mentioned above, you already have a back-up solution maybe in this way:
1. Add a custom filed in contact entity
2. Import a contact file including a custom filed column
3. Create a segment/subscription query by the custom filed
It is actually works.
Reference:
Import data (Dynamics 365 Marketing) | Microsoft Docs
And if you want to add contacts to subscription lists or marketing, you can use Connection entity to import a list from CSV file in below steps:
1. Import your contacts and subscription lists
Load your contacts and subscription list names using the import templates provided within Microsoft Dynamics 365.
Contact file:

Subscription list:

2. Prepare your Connection file.
Connected From: your contact names
Connected To: subscription list name

3. In Microsoft Dynamics 365, go to Settings > Data Management > Imports, choose Import Data, and select the connection file you just created.

4. Click Next until you see the Map Record Types screen. Select Connection as the Microsoft Dynamics 365 record type and click Next.

5. Map your connections
You will see this menu letting you know that your connections mapped successfully.
Click Next until you reach the Review Settings and Import Data screen, then hit Submit. Your connections will be imported.

6. Manage Members
At this point, the system recognizes a connection between your contacts and the appropriate subscription lists, but you still have to import the contacts into each of the lists as members.
1) Open a subscription list > Click Manage Members > Select Add using Advance Find

2) Select Connections (Connected From) > Select Connected To > Select Equals > Enter Subscription list name, Click the search icon will return all contacts that are connected to this subscription list.

