I believe it's a matter of flavor.
For consistency and especially to keep things intuitive for any future SFMC user - Our practice is to use Contacts - and avoid using Accounts altogether- then roll-up any field you need from Account to the Contact level in the CRM.
There are usually not many, and it takes a minute when you need a new field roll-up.
This also ensures that the conversion Lead >> Contact is consistent.
In other words our recommendation and practice is to avoid marketing to Accounts.
Technically, if you go the other way - when you use PersoncontactId - you are marketing to Contacts anyway.
If Contact billing limits is a concern - create a Boolean field on Contacts "Sync_to_sfmc" and filter based on that with CRM logic to control billing.
Also, don't forget you always have the option to JOIN on Accounts instead of rolling up fields in the CRM.