Let’s say your plugin has a function that generates the page title (geodir_do_post_title), another for the content (geodir_do_post_content), another for the sidebar, comments etc etc and your templates are just used to output that content…
Then a genesis template could be made to simply output those to the correct areas for genesis – and any changes you make to functionality will never affect the integration of genesis, because the output templates will never have to change.
<?php
// Simple Genesis Template
// Remove Genesis output
remove_action( 'genesis_entry_header', 'genesis_do_post_title' );
remove_action( 'genesis_entry_content', 'genesis_do_post_content' );
remove_action( 'genesis_entry_footer', 'genesis_post_meta' );
//* more as required
// Add Geodir content instead
add_action( 'genesis_entry_header', 'geodir_do_post_title' );
add_action( 'genesis_entry_content', 'geodir_do_post_content' );
add_action( 'genesis_entry_footer', 'geodir_post_meta' );
//* more as required
genesis();
I know that’s only a simple example, and i don’t know how radically you would have to change the plugin to make that possible….?