Linking an opportunity to account using workflow or linking meeting to account when converting a lead.

Hi guys!

Well, I am in a dead end, after trying all kinds of approaches. Please, I need some insight on this.
Please, first let me layout the scenario where we use the system. We are using it as a B2C solution, so have in mind that an account is actually, a person.
We have a small call center that receives calls from Leads, looking for an appointment with our optometrist.
Once all their details are filled in the fields, (figure 1) we save and convert these leads in contacts , accounts and we schedule, all in one go, a meeting, which is in fact an appointment to have their eyes checked.
I did some heavy customization on the /custom/modules/Leads/views/view.convertlead.php file, so when our user hit the convert lead button, all the fields in the next screen are already filled with the lead information and most important, the name of the contact is the same as the account. (figure 2).
Once they hit the save button, an account, contact and meeting are created. the contact is linked to the account, and the meeting is scheduled with the contact information. So far, so good.

But… ( in any history there is always a but)

First thing that caught my eye was that the meeting does not appear at the activities of the newly created account, which is not a big issue, but then, I ran into the problem:

I have created a workflow that creates an opportunity when the meeting status is changed to “held”.
The opportunity is created, but that opportunity does not have an account to relate to, because the one field that bonds all together is the CONTACT, not the account.

Here is my question: when I hit the button convert lead, is there a way to link the meeting to that account automatically? Or, better, is there any solution to bond the meeting to the account, even if it is another workflow or logic hook?

Please I hope to hear your ideas.

Thank you very much for your time and patience.