Personally, I treat PayPal as a bank account in GNUCASH. It simplifies things somewhat so my transactions look like this: Following the money.
Outgoing: Two transactions
Asset:CurrentAssets:Bank > Asset:CurrentAssets:PayPal GBP
PayPal GBP > Expenses/Assets
Income:Sales: Depends if its an immediate
Expenses:BankingFees (Paypal fee - left column)
Asset:CurrentAssets:Bank or PayPal GBP (remainder - left column)
Income:Sales (Total Sale - right column)
As you can see, when im paying out because I treat paypal as a bank I need to transfer money to it.
When I make a sale, I will either split the balance to paypal or bank account, depending on whether I withdrew it from paypal or left it there to accumilate (as often happens with my business account having no free transactions so i pay for each deposit).
All in all because i treat it like a bank, i treat its fees like a bank charge/fee and account for it as such.
I hope that helps you out.
Also note, the gnucash importer learns, so if you import and select an account for a type of transaction, it will do the same for future transactions, it can take a while to get the importer set up and running the way you want, but it saves time in the end.
Regarding the date mismatch on your account, you can do as my bank does on my statements.
Card payments today will be pushed to my statement tomorrow, so they just put date it was applies as the transaction date (tomorrow) and in the description they put the date that it was make (today). It seems to me that if a bank can do this then you should be able to do the same in your accounts, it just depends on the volume of transactions to edit as to whether its a viable option.
In an ideal world, you would import, set a few accounts and be done but there are edge cases which cannot be handles to easily programatically and that does seems to be one of them.
The other problem with that I found was I could not automatically match card payments to a particular account because of the date( the only thing different on some transactions including cash amounts.
That might be a problem for GNUCASH to fix though by ignoring dates in the bayesian matching they utilise and probably not useful here but it might save you some time.
As a side note, bonus whatever
For those of you interested, there is available a csv to qif converter for PayPal csv files (forget the PayPal qif unless you aren't in USD).
https://llg.cubic.org/csv2iif/
There are two downloads, windows or OsX,Linux,*BSD
the latter being less simple to install but full instructions and dependencies are included in the install.txt of the archive.
If that program does not work for you, i have just created a repository on github with a standalone perl script that I currently used for my conversions from CSV to qif. It included complete instructions on usage.
The file was created by Lloyd Standish who also had a webpage that was able to convert the files but this seems to be no longer available.
its called PayPalcsv2qif and available here: https://github.com/ChrisLancs/PayPalcsv2qif