I'm sure many of you come across this issue: in some third party themes, many predefined styles and css generated from theme configuration (located in pub/media/{theme}) are loaded in
/{vender}/{theme}/Magento_Theme/template/html/head.phtml
which have priority over your custom theme that is usually defined in
/{vender}/{child_theme}/Magento_Theme/layout/default_head_blocks.xml
because the css files in head.phtml always loads after the custom css.
The theme I'm using is Smartwave_porto, so far I can only resolve it by removing the css files from head.pthml, then use symlinks to create the same files and load them in default_head_blocks.xml together with my custom css. I wonder if there's better solutions to this?